#coding : utf-8
require "dxruby"
def key_code_to_str ary
key_code = [
"Q" , 16 , "W" , 17 , "E" , 18 , "R" , 19 , "T" , 20 , "Y" , 21 , "U" , 22 , "I" , 23 , "O" , 24 , "P" , 25 ,
"A" , 30 , "S" , 31 , "D" , 32 , "F" , 33 , "G" , 34 , "H" , 35 , "J" , 36 , "K" , 37 , "L" , 38 ,
"Z" , 44 , "X" , 45 , "C" , 46 , "V" , 47 , "B" , 48 , "N" , 49 , "M" , 50 ,
"1" , 2 , "2" , 3 , "3" , 4 , "4" , 5 , "5" , 6 , "6" , 7 , "7" , 8 , "8" , 9 , "9" , 10 , "0" , 11 ,
] .each_slice ( 2 )
str = ""
ary.each do | key|
key_code.each do | a,b|
if b == key
str << a
break
end
end
end
return str
end
name_ary = [ ]
name = ""
phase = 0
font = Font.new 25 , "メイリオ"
Input.set_repeat ( 40 , 20 )
Window.loop do
exit if Input.keyDown ? K_ESCAPE
case phase
when 0
if Input.keyDown ? K_RETURN
phase = 1
end
x = Input.keys
if not x.empty ?
a = x.shift
if Input.keyPush ? a
name_ary << a
end
end
name = key_code_to_str name_ary
Window.drawFont 50 , 50 , name , Font.default
when 1
Window.drawFont 50 , 50 , name , font , { :color => [ 100 ,200 ,200 ] }
end
end
I2NvZGluZyA6IHV0Zi04CgpyZXF1aXJlICJkeHJ1YnkiCgpkZWYga2V5X2NvZGVfdG9fc3RyIGFyeQogIGtleV9jb2RlID0gWwogICJRIiwgMTYsICJXIiwgMTcsICJFIiwgMTgsICJSIiwgMTksICJUIiwgMjAsICJZIiwgMjEsICJVIiwgMjIsICJJIiwgMjMsICJPIiwgMjQsICJQIiwgMjUsCiAgIkEiLCAzMCwgIlMiLCAzMSwgIkQiLCAzMiwgIkYiLCAzMywgIkciLCAzNCwgIkgiLCAzNSwgIkoiLCAzNiwgIksiLCAzNywgIkwiLCAzOCwKICAiWiIsIDQ0LCAiWCIsIDQ1LCAiQyIsIDQ2LCAiViIsIDQ3LCAiQiIsIDQ4LCAiTiIsIDQ5LCAiTSIsIDUwLAogICIxIiwgMiwgICIyIiwgMywgICIzIiwgNCwgICI0IiwgNSwgICI1IiwgNiwgICI2IiwgNywgICI3IiwgOCwgICI4IiwgOSwgICI5IiwgMTAsICIwIiwgMTEsCiAgXS5lYWNoX3NsaWNlKDIpCiAgc3RyID0gIiIKICBhcnkuZWFjaCBkbyB8a2V5fAogICAga2V5X2NvZGUuZWFjaCBkbyB8YSxifAogICAgICBpZiBiID09IGtleQogICAgICAgIHN0ciA8PCBhCiAgICAgICAgYnJlYWsKICAgICAgZW5kCiAgICBlbmQKICBlbmQKICByZXR1cm4gc3RyCmVuZAoKbmFtZV9hcnkgPSBbXQpuYW1lID0gIiIKcGhhc2UgPSAwCmZvbnQgPSBGb250Lm5ldyAyNSAsICLjg6HjgqTjg6rjgqoiCklucHV0LnNldF9yZXBlYXQoNDAgLCAyMCkKV2luZG93Lmxvb3AgZG8KICBleGl0IGlmIElucHV0LmtleURvd24/IEtfRVNDQVBFCgogIGNhc2UgcGhhc2UKICB3aGVuICAwCiAgICBpZiBJbnB1dC5rZXlEb3duPyBLX1JFVFVSTgogICAgICBwaGFzZSA9IDEKICAgIGVuZAoKICAgIHggPSBJbnB1dC5rZXlzCiAgICBpZiBub3QgeC5lbXB0eT8KICAgICAgYSA9IHguc2hpZnQKICAgICAgaWYgSW5wdXQua2V5UHVzaD8gYQogICAgICAgIG5hbWVfYXJ5IDw8IGEKICAgICAgZW5kCiAgICBlbmQKICAgIG5hbWUgPSBrZXlfY29kZV90b19zdHIgbmFtZV9hcnkKICAgIFdpbmRvdy5kcmF3Rm9udCA1MCAsIDUwICwgbmFtZSAsIEZvbnQuZGVmYXVsdAogIHdoZW4gMQogICAgV2luZG93LmRyYXdGb250IDUwICwgNTAgLCBuYW1lICwgZm9udCAsIHsgOmNvbG9yID0+IFsxMDAsMjAwLDIwMF0gfQoKICBlbmQKCmVuZAo=