しつもんです  これをゴミ・・・いや静的(笑)言語でかくとどうなるんですか?
kiu =[
[ "K_SPACE" ] ,
[ "K_COMMA" ] ,
[ "K_PERIOD" ] ,
[ "K_SLASH" ] ,
[ "K_YEN" ] ,
[ "K_COLON" ] ,
[ "K_SEMICOLON" ] ,
[ "K_BACKSLASH" ] ,
[ "K_LBRACKET" ] ,
[ "K_RBRACKET" ] ,
[ "K_MINUS" ] ,
[ "K_AT" ] ,
[ "K_PREVTRACK" ] ,
]
kiu2 = [" " ,"," ,"." ,"/" ,"\\" ,":" ,";" ,"_" ,"[" ,"]" ,"-" ,"@" ,"^" ,]
kiu3 = [ " " ,"<" ,">" ,"?" ,"|" ,"*" ,"+" ,"_" ,"{" ,"}" ,"=" ,"`" ,"~" , ]
aru = ("a".."z").to_a
suu = ("K_0".."K_9").to_a.rotate
suu2= ("0".."9").to_a.rotate
suu3= (" \! \" \# \$ \% \& \' \( \) 0").split
nnn = aru.to_a.size + suu.to_a.size + kiu.size

p keytable= [ ( ["K_"]*aru.size ).zip( aru.map(&:upcase).to_a ).map(&:join) , suu , kiu ].map(&:to_a).flatten
.zip( [:default]*nnn ).zip( [aru , suu2 , kiu2 ].map(&:to_a).flatten )
.zip( [:shift]*nnn )
.zip( [aru.map(&:upcase) , suu3 , kiu3 ].map(&:to_a).flatten )
.zip( [:control]*nnn ).zip( [""]*nnn ) # .zip( [":command"]*nnn ).zip( ["<command>"]*nnn )
.flatten