Ȥεǽ

, CTRL-P
    ˰ư롣

    keycommand 0 $key_up        '*' 'cursor_move -1'
    keycommand 0 $key_ctrl_p    '*' 'cursor_move -1'

벼, CTRL-N
    򲼤˰ư롣

    keycommand 0 $key_down      '*' 'cursor_move +1'
    keycommand 0 $key_ctrl_n    '*' 'cursor_move +1'

뱦CTRL-F
    򱦤Υɥ˰ư롣

    keycommand 0 $key_right    '*' 'if [ $VIEW_OPTION = 2pain ] { activate 1 } else { scroll_right }'
    keycommand 0 $key_ctrl_f    '*' 'if [ $VIEW_OPTION = 2pain ] { activate 1 } else { scroll_right }'

뺸CTRL-B
    򺸤Υɥ˰ư롣

    keycommand 0 $key_left    '*' 'if [ $VIEW_OPTION = 2pain ] { activate 1 } else { scroll_left }'
    keycommand 0 $key_ctrl_b    '*' 'if [ $VIEW_OPTION = 2pain ] { activate 1 } else { scroll_left }'

CTRL-A
    ־˰ư롣

    keycommand 0 $key_ctrl_a    '*' 'cursor_move 0'

CTRL-E
    ֲ˰ư롣

    keycommand 0 $key_ctrl_e    '*' 'cursor_move $(file_num)'

PAGEUP, CTRL-U, Meta-v
    ˣư롣

    keycommand 0 $key_pageup    '*' 'cursor_move -10'
    keycommand 0 $key_ctrl_u    '*' 'cursor_move -10'
    keycommand 1 $key_v         '*' 'cursor_move -10'

PAGEDORN, CTRL-D, CTRL-V
    򲼤ˣư롣

    keycommand 0 $key_pagedown  '*' 'cursor_move +10'
    keycommand 0 $key_ctrl_d    '*' 'cursor_move +10'
    keycommand 0 $key_ctrl_v    '*' 'cursor_move +10'

BACKSPACE, CHTRL-H
    ƥǥ쥯ȥ˰ư롣

    keycommand 0 $key_backspace '*' 'mcd ..'
    keycommand 0 $key_ctrl_h    '*' 'mcd ..'

\
    롼ȥǥ쥯ȥ˰ư롣
    keycommand 0 $key_backslash '*' 'mcd /'

~
    ۡǥ쥯ȥ˰ư롣

    keycommand 0 $key_tilda     '*' 'mcd ~'

ENTER
    Υե뤬ǥ쥯ȥǤХΥǥ쥯ȥ˰ư롣
    ǥ쥯ȥǤʤС¹Ԥ롣ޥɥ饤˰ưΤǥޥɤϤƤ

    keycommand 0 $key_enter     '.directory' 'mcd $(cursor)'
    keycommand 0 $key_enter     '.mark'      'cmdline \' $$(markfiles)\' 0'
    keycommand 0 $key_enter     '.link'      'if [ -d $(cursor) ] { mcd $(cursor) } else { cmdline " $(cursor)" 0 }'
    keycommand 0 $key_enter     '*'          'cmdline " $(cursor)" 0'

q, CTRL-C
    λ롣

    keycommand 0 $key_q         '*' 'if [ $(mchoise quit\? yes no) = yes ] { quit }'
    keycommand 0 $key_ctrl_c    '*' 'if [ $(mchoise quit\? yes no) = yes ] { quit }'

CTRL-L
    ǥɤ߹ߤơ̤̤롣

    keycommand 0 $key_ctrl_l    '*' 'mclear_immediately; reread -d 0; reread -d 1'

SPACE
    벼Υեޡơ˰ư롣

    keycommand 0 $key_space     '*' 'mark -t -n $(cursor_num); cursor_move +1'

[
    ϰϥޡλ򥫡벼Υեꡣ

    keycommand 0 $key_lbrack    '*' 'MARK_RANGE_BEGIN=$(cursor_num)'
    
]
    ϰϥޡν򥫡벼ΥեꡣϰϥޡäƤեޡȿž
    
    keycommand 0 $key_rbrack    '*' 'if [ $MARK_RANGE_BEGIN != -1 ] { i=$MARK_RANGE_BEGIN; while [ $i -le $(cursor_num) ] { mark -t -n $i; i=$(($i + 1)) } }'
    
HOME
    ǥ쥯ȥʳƤΥեΥޡȿž

    keycommand 0 $key_home      '*' 'mark -t -f -a'

END
    ƤΥեΥޡȿž

    keycommand 0 $key_end       '*' 'mark -t -a'

*
    ֥ޡ*.cȤƤγĥcΥեΥޡȿž

    def glob_mark:
        for file in $ARGV :
            mark -t $file

    keycommand 0 $key_star      '*' 'cmdline "glob_mark *" -1'

+
    ɽޡɽ˥ޥåեΥޡȿž

    def regex_mark:
        for file in * .* :   # kitutuki.*...ϴޤޤʤ
            if [ $file -re $ARGV[0] ]:
                mark -t $file

    keycommand 0 $key_plus      '*' "cmdline \"regex_mark ''\" -2"

.
    .Ϥޤեɽ롢ɽʤ򷫤֤

    global DOT_MASK=0
    keycommand 0 $key_dot       '*' 'if [ $DOT_MASK = 0 ] { global DOT_MASK=1; mask -dotdir 1; mask "^[^\.].+" } else { global DOT_MASK=0; mask -dotdir 0; mask ".+" }'

c
    ޡƤե򥳥ԡ̻ɸǥ쥯ȥꤷƤ饳ԡ̻ϣ̤Υƥ֤ǤʤۤΥǥ쥯ȥɸǥ쥯ȥȤ롣

    keycommand 0 $key_c         '*' 'if [ $VIEW_OPTION = 2pain ] { mcp $(path -d sdir) } else { cmdline "mcp $(path)" -1 }'

C
    cpץȤäԡ&ĤȥХåɥԡˤʤޤ
    ξ-i򳰤ۤǤܤman cpƤ

    keycommand 0 $key_C         '*' 'if [ $VIEW_OPTION = 2pain ] { cmdline \'cp -i -R $$(markfiles) \'"$(path -d sdir)" -1 } else { cmdline \'cp -i -R $$(markfiles) \'"$(path)" -1 }'

m
    ޡƤեư̻ɸǥ쥯ȥꤷƤư̻ϣ̤Υƥ֤ǤʤۤΥǥ쥯ȥɸǥ쥯ȥȤ롣

    keycommand 0 $key_m         '*' 'if [ $VIEW_OPTION = 2pain ] { mmv $(path -d sdir) } else { cmdline "mmv $(path)" -1 }'

M
    mvץȤäեΰư

    keycommand 0 $key_M         '*' 'if [ $VIEW_OPTION = 2pain ] { cmdline \'mv -i -R $$(markfiles) \'"$(path -d sdir)" -1 } else { cmdline \'mv -i -R $$(markfiles) \'"$(path)" -1 }'
d
    ޡƤե$TRASHBOX_DIR˰ư롣ͤ~/.mfiler3/trashbox/

    keycommand 0 $key_d         '*' 'if [ $(marking) = 1 ] && [ $(mchoise "move file to trashbox ok?" yes no) = yes ] { mtrashbox -f }'

D
    ޡƤե

    keycommand 0 $key_D         '*' 'if [ $(marking) = 1 ] && [ $(mchoise "DELETE file ok?" yes no) = yes ] { mrm }'

e
    ǥå(vim)ǥեԽ

    keycommand 0 $key_e         '*' 'external -q \'vim $(cursor)\''

    (Хɤɽȼ褦ʥޥɤХɤexternalɬ)

v
    ڡ(less)ǥե򸫤롣ʥƥȥեΤ)

    keycommand 0 $key_v         '*' 'external -q \'less $(cursor)\''

r
    ե̾Ѥ

    ޡƤr򲡤ɽ̾

    㤨
    
    regex_rename .c\$ .h
    
    ¹ԤȳĥcĥhѴ

    keycommand 0 $key_r         '*' 'rename'
    keycommand 0 $key_r         '.mark' 'cmdline "regex_rename " -1'

    def regex_rename:
        for file in $$(markfiles) {
            if [ $file -re $ARGV[0] ]:
                puts "$$file -> $$(print $file | sub $ARGV[0] $ARGV[1])"
            else:
                puts "$$file -> $$file (not rename)"
        } | less

        if [ $(choise "rename ok?" no yes) = yes ]:
            for file in $$(markfiles) :
                if [ $file -re $ARGV[0] ]:
                    puts "mrename $$file $$(print $file | sub $ARGV[0] $ARGV[1])"
                    mrename $file $(print $file | sub $ARGV[0] $ARGV[1])
                else:
                    puts "$$file (no rename)"

        reread

a
    ե°˥塼Ƥ

    keycommand 0 $key_a         '*' 'menu attribute'

n
    ե򿷤롣

    keycommand 0 $key_n         '*' 'cmdline \'touch ""\' -2'

k
    ǥ쥯ȥ򿷤롣

    mkdir-pץ󤬤ƤΤǡ㤨dir1/dir2/dir3ʤɿǥ쥯ȥꤷƤdir1/dir2/dir3ޤ

    keycommand 0 $key_k         '*' 'cmdline \'mkdir -p ""\' -2'

b
    եΥХååפ

    keycommand 0 $key_b         '*' 'cmdline -q \'mbackup \'"$(cursor).bak" -5'

g
    mgrep¹Ԥ롣ʸ򸡺ơη̤ΥꥹȤENTER򤹤Фΰ֤vimΩ夬ޤmgrep-RĤкƵŪ˲Υǥ쥯ȥ⸡ޤ

    keycommand 0 $key_g         '*' 'cmdline "mgrep  * .*" 6'
    keycommand 0 $key_g         '.mark' 'cmdline "mgrep -R   "\'$$(markfiles)\' 9'

    def mgrep:
        grep -n $ARGV | tee $MF3TEMP/mgrep

        if [ $RCODE = 0 ]:
            while true:
                cat $MF3TEMP/mgrep | selector -r | scan -f \n '^(.+?):(\\d+):' | var file number
                if [ -e $file ] && [ $number -ge 0 ]:
                    vim +$number $file
                else:
                    break

G
    ʸ򸡺ơʸޤեβۥǥ쥯ȥޤgrep-RĤкƵŪ˲Υǥ쥯ȥ⸡ޤ

    keycommand 0 $key_G         '*' 'cmdline "grep  * .* | scan \'^(.+?):\' | uniq | vd" 5'
    keycommand 0 $key_G         '.mark' 'cmdline \'grep -R  $$(markfiles) | scan "^(.+?):" | uniq | vd\' 8'


f,/

    󥯥󥿥륵򳫻ϡե̾ϤХޥåե˰ưޤθ岼򲡤мθõޤ奭򲡤θ˰ưޤڡ򲡤Сեޡޤ

    keycommand 0 $key_slash     '*' 'isearch'
    keycommand 0 $key_f         '*' 'isearch'

F

    findޥɤ˥ޥåեβۥǥ쥯ȥޤ

    findޥɤˤϰʲΤ褦ʥץ󤬤ޤ

    -name ѥ˥ޥåե̾ĥե򸡺ޤˤϥ磻ɥɤѤǤޤ'*.c'ȤȳĥcΥե롣

    -size +n
    -size -n
    -size n

    եΥ+n(nʾ) -n(nʲ) n(n㥹)Υե򸡺ޤ

    ܤman findȤƤ

    keycommand 0 $key_F         '*' 'cmdline "find .  | scan \'\./(.+)\' | vd" 7'
    keycommand 0 $key_F         '.mark' 'cmdline \'find  $$(markfiles) | vd\' 5'

s
    Ȥȥޥ򤹤˥塼ɽޤ
    
    keycommand 0 $key_s         '*' 'menu sort_and_mask'
    
V
    ɽץ򤹤˥塼ɽޤ
    
    keycommand 0 $key_V         '*' 'menu view'

o
    ƥ¦Υǥ쥯ȥΥѥ󥢥ƥ¦Υѥ˰ư

    keycommand 0 $key_o         '*' 'mcd $(path -d sdir)'
    
O
    󥢥ƥ¦Υǥ쥯ȥΥѥ򥢥ƥ¦Υѥ˰ư
    
    keycommand 0 $key_O         '*' 'mcd -d sdir $(path)'

w
    ƥ¦Υѥ󥢥ƥ¦Υѥ򴹤ޤ

    keycommand 0 $key_w         '*' 'adir=$(path); sdir=$(path -d sdir); mcd $sdir; mcd -d sdir $adir'

j
    ǥ쥯ȥΥץ˥塼ɽޤ
    
    Add ...ǸߤΥǥ쥯ȥ˥塼ɲäޤ
    Clear...ǥץ˥塼

    ˥塼Ͻλ¸ޤ

h
    ޥɥ饤˰ưޤ

    keycommand 0 $key_h         '*' 'cmdline'

H
    ޥɥ饤˰ưޤޥɤ¹ԤƤ⥳ޥɥ饤ΤޤޤǤ

    keycommand 0 $key_H         '*' 'cmdline -c'

x
    ե¹Ԥޤ

    keycommand 0 $key_x         '*' 'cmdline ./$(cursor)\\\  -1'

p
    ޡե򰵽̤롣(̻󥢥ƥ¦¸

    keycommand 0 $key_p         '*' 'if [ $VIEW_OPTION = 2pain ] { m=$(length "$(path -d sdir)"); m=$(($m + 9)); cmdline "tar cvfz $(path -d sdir).tgz "\'$$(markfiles)\' $m } else { cmdline \'tar cvfz .tgz $$(markfiles)\' 9}'

P
    ޡե򰵽̤롣(̡̻Ȥ˥ƥ¦¸

    keycommand 0 $key_P         '*' 'cmdline \'tar cvfz .tgz $$(markfiles)\' 9'

u
    ̥եह롣(̻󥢥ƥ¦¸

    keycommand 0 $key_u         '.tgz' 'if [ $VIEW_OPTION = 2pain ] { cmdline "tar xvfz $(cursor) -C $(path -d sdir)" -1 } else { cmdline "tar xvfz $(cursor) -C $(path)" -1 }'

U
    ̥եह롣(̡̻Ȥ󥢥ƥ¦¸

    keycommand 0 $key_U         '.tgz' 'cmdline "tar xvfz $(cursor) -C $(path -d sdir)" -1'

CTRL-T
    ǥ쥯ȥ롣(ߤΥȥǥ쥯ȥΥѥ

    keycommand 0 $key_ctrl_t    '*' 'new_dir $(path)'

CTRL-W
    ǥ쥯ȥ롣ʸߤΥȥǥ쥯ȥ

    keycommand 0 $key_ctrl_w    '*' 'if [ $(dir_num) -gt 2 ] { del_dir -d adir; activate 0 }'

l
    ޡեΥ󥯤ޤоݥǥ쥯ȥϣ̻󥢥ƥ֤ʥǥ쥯ȥˡ̻ϥѥꤷƤ󥯤ϥեѥǤ

    keycommand 0 $key_l         '*' 'if [ $VIEW_OPTION = 2pain ] { mln $(path -d sdir) } else { cmdline "mln $(path)" -1 } '

meta + 
    ǥ쥯ȥ

    keycommand 0 $key_meta_left  '*' 'mcd -'
    keycommand 1 $key_left       '*' 'mcd -'

meta + 
    ǥ쥯ȥʤ

    keycommand 0 $key_meta_right '*' 'mcd +'
    keycommand 1 $key_right      '*' 'mcd +'

:
    kitutukiư롣

    keycommand 0 $key_colon     '*' 'external "kitutuki"'

!
    եޥ͡㡼ư롣

    keycommand 0 $key_exclam    '*' 'run_file_manager'

    def run_file_manager:
        if [ uname -s | index -q CYGWIN ]:
            cygstart . &
        elif [ uname -s | index -q Darwin ]:
            open . &
        else:
            if [ ps axw | grep -v grep | index -q nautilus ]:
                nautilus "$PWD" 2>/dev/null
            elif [ ps axw | grep -v grep | index -q kdeinit ]:
                konqueror "$PWD" 2>/dev/null &
            elif [ ps axw | grep -v grep | index -q xfdesktop ]:
                thunar "$PWD" 2>/dev/null

1-9
    ڥɤƤץ̤˻äƤ

    keycommand 0 $key_1         '*' 'external -q "fg 1"'
    keycommand 0 $key_2         '*' 'external -q "fg 2"'
    keycommand 0 $key_3         '*' 'external -q "fg 3"'
    keycommand 0 $key_4         '*' 'external -q "fg 4"'
    keycommand 0 $key_5         '*' 'external -q "fg 5"'
    keycommand 0 $key_6         '*' 'external -q "fg 6"'
    keycommand 0 $key_7         '*' 'external -q "fg 7"'
    keycommand 0 $key_8         '*' 'external -q "fg 8"'
    keycommand 0 $key_9         '*' 'external -q "fg 9"'

meta + 1-9
    ǥ쥯ȥ򥢥ƥ֤ˤ롣
    
    keycommand 1 $key_0         '*' 'activate 0'
    keycommand 1 $key_1         '*' 'activate 1'
    keycommand 1 $key_2         '*' 'activate 2'
    keycommand 1 $key_3         '*' 'activate 3'
    keycommand 1 $key_4         '*' 'activate 4'
    keycommand 1 $key_5         '*' 'activate 5'
    keycommand 1 $key_6         '*' 'activate 6'
    keycommand 1 $key_7         '*' 'activate 7'
    keycommand 1 $key_8         '*' 'activate 8'
    keycommand 1 $key_9         '*' 'activate 9'

?
    إפɽ

    keycommand 0 $key_qmark         '*' 'help'

륹ץȸ kitutukiλȤ

    ޥɥ饤kitutuki_help¹ԤƤ

ޥ

quit
    λ롣

keycommand ᥿ON(1)|OFF(0)  եμ ޥ
    
    Хɤޤ

    ᥿Meta(Alt)򲡤ƥɤΥ򲡤ʤǤ

    ɤϴĶѿꤵƤƺǸ˰ޤ

    եμ̤

    "*"ƤΥե̾
    "makefile"ǥ뤬makefileˤȤư
    ".cpp"ǥ뤬ĥcppˤư
    ".execute"ϼ¹ԥե
    ".directory"ϥǥ쥯ȥ
    ".link"ϥ
    ".mark"ϥޡƤȤ
    ".mark-ĥ"ϤγĥҤΥեޡƤȤ
    ե̾ʸȾʸ̤ʤ

    Ǥ

keymap  1 2 ........ 10
    ɤǤ
    HOMEʤɤʤüޤξϤüΥ줿Ȥ˥ץꥱϤǡĴ٤ơΥޥɤꤹ褦ˤʤޤ

cursor_move n|+n|-n|/ե̾

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

    n ֹΥե˰ư
    +n 򲼤nư
    -n nư
    /ե̾ ե̾Υե˥ư

mcd dir|+|-

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

    ǥ쥯ȥư

    dir dir˰ư
    + ǥ쥯ȥʤ
    - ǥ쥯ȥ

cmdline -q|-c ʸ 

    ޥɥ饤˰ܹԡ

    ʸ󤬺ǽ˥ޥɥ饤˽񤫤ƤʸǤ

    ֤Ͻ֤Ǥ0ƬǤ-1Ǥ-2ϺǸ夫飲ܤʸǤ

    -q åޥɤ¹Ԥ奫Ԥˤʤʤ
    -c ƥ˥塼ޥɤ¹Ԥ⥳ޥɥ饤Τޤ

file_num

    ե֤ǥ쥯ȥ꤬ꤵʤХƥ֥ǥ쥯ȥǤ

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

dir_num

    ǥ쥯ȥο֤

cursor_num

    뤬֤֤

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

file_name եֹ

    ե֤̾

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ


file_ext եֹ

    եγĥ֤̾

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ


file_perm եֹ

    եΥѡߥå֤

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

file_group եֹ

    եνͭ롼֤̾

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

file_user եֹ

    եνͭ桼֤̾

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

file_index ե̾

    եΥեֹ֤

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

path

    ǥ쥯ȥΥѥ֤

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

external ޥ
    
    ХɤüѤ褦ʥޥ(vim, cp -i, topʤɡˤХɤȤϡexternal vimʤɤȤƤΥޥɤüƤ¹Ԥޤ

isearch
    
    󥯥󥿥륵򳫻

mchoise å 裱 裲....

    桼ǤäơФ줿Ϥ롣

activate 

    ǥ쥯ȥֹΥǥ쥯ȥ򥢥ƥ֤ˤ롣

defmenu ˥塼̾ ȥ1 1 ޥ1 ȥ2 2 ޥ2 ...

    ˥塼롣

addmenu ˥塼̾ ȥ  ޥ

    ˥塼ɲä롣


menu ˥塼̾

    ˥塼򳫤

reread
    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

    ꤵ줿ǥ쥯ȥɤ߹ߤ

markfiles

    ޡ줿եɽ롣ޡƤʤϥΥեɽ롣Υե̾ϥȤƽϤΤǡ$()ŽդϥȤʤ$$(markfile)ȤƤkitutuki$()Žդ˥ȤŽդޤ$$()ϥȤĥդޤ

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

    -fullpath եѥɽ

allfiles

    ƤΥեɽ롣$$()ŽդƤ

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

    -fullpath եѥɽ

mark
    
    mark ե̾ ON(1) or OFF(0)  ե̾ΥޡON or OFF
    mark -t ե̾ ե̾Υޡȿž

    -nĤȥե̾ΤȤեֹǻǤޤ(Τۤ®Ǥ

    -t ޡȿž
    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ
    -f ǥ쥯ȥϽ
    -n ͤǻꤹ
    -a ƤΥե

marking

    Υǥ쥯ȥ˥ޡƤե뤬뤫ɤĴ٤롣

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

mclear_immediately

    ̤õ

vd

    ѥפǼäե̾Υꥹ(Զڤ)ۥǥ쥯ȥȤꤹ롣

mcp ɸǥ쥯ȥ

    ޡ줿ե򥳥ԡ

mmv ɸǥ쥯ȥ

    ޡ줿եư

    -f 

mrm 
    ޡ줿ե

mtrashbox
    ޡ줿ե򥴥Ȣ($TRASHBOX_DIR)˰ư

mln ɸǥ쥯ȥ
    
    󥯤

mrename ե̾ ̾Υե̾

    ե̾

    -r ɤ߹ߤ
    -c ̾Υե˰ư

mask 
    
    mask -dotdir 0 or 1 .Ϥޤե̾Υǥ쥯ȥɽɽ
    mask ɽ ɽ˥ޥ

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

new_dir ѥ
    ѥοե顼ǥ쥯ȥ

del_dir
    ե顼ǥ쥯ȥ

    -d [all|adir|sdir|n()] ǥ쥯ȥꤹ륪ץǤ

mbackup ե̾ Хååץե̾

    Хååפ

row 

    θߤϤ

row_max

    κͤϤ

line

    θߤιԤϤ

line_max

    ιԤκͤϤ

adir
    ƥ֤ʥեǥ쥯ȥΥǥ쥯ȥֹ֤

sdir
    󥢥ƥ֤ʥեǥ쥯ȥΥǥ쥯ȥֹ֤


    $key_up 奭
    $key_right 
    $key_down 
    $key_left 
    $key_insert 󥵡ȥ
    $key_delete delete
    $key_home home
    $key_end end
    $key_pageup pageup
    $key_pagedown pagedown
    $key_meta_left meta+
    $key_meta_right meta+
    $key_meta_up meta+奭
    $key_meta_down meta+
    $key_enter ENTER
    $key_backspace BackSpace
    $key_f1, key_f12 ե󥯥󥭡
    $key_a,..., key_z ѻa,..z
    $key_A, ..., key_Z ѻA,...,Z
    $key_space ڡ
    $key_ctrl_space CTRL+ڡ
    $key_ctrl_a, key_ctrl_z CTRL+ѻ
    $key_escape escape
    $key_tab tab
    $key_0,...,key_9 
    $key_exclam !
    $key_dquote "
    $key_sharp #
    $key_dollar $
    $key_percent %
    $key_and &amp;
    $key_squote '
    $key_lparen (
    $key_rparen )
    $key_tilda ~
    $key_equal =
    $key_minus -
    $key_cup ^
    $key_vbar |
    $key_backslash \
    $key_atmark @
    $key_bapostrophe `
    $key_lcurly {
    $key_lbrack [
    $key_plus +
    $key_semicolon ;
    $key_star *
    $key_colon :
    $key_rcurly }
    $key_rbrack ]
    $key_lss &lt;
    $key_comma ,
    $key_gtr &gt;
    $key_dot .
    $key_slash /
    $key_qmark ?
    $key_underbar _

