| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #nop vim: set filetype=tt:;
- #var lib_ui_keyboard[META] {
- {NAME} {键盘绑定}
- {DESC} {允许玩家在正常输入模式和翻屏模式之间切换}
- {AUTHOR} {担子炮}
- };
- #var keyboard-mode {normal};
- /*
- TODO: 缺搜索功能,缺 history 翻页功能,缺当前模式的显示
- */
- #alias {keyboard.LessMode} {
- #if { "$keyboard-mode" == "less" } {
- #return;
- };
- #var keyboard-mode {less};
- keyboard.DisableAllKeys;
- #class mouse-less-mode open;
- #macro {g} {#buffer home};
- #macro {G} {keyboard.NormalMode};
- #macro {j} {#buffer down 1};
- #macro {k} {#buffer up 1};
- #macro {\cf} {#buffer down 20};
- #macro {\cb} {#buffer up 20};
- #macro {\cc} {keyboard.NormalMode};
- #class mouse-less-mode close;
- };
- #alias {keyboard.NormalMode} {
- #if { "$keyboard-mode" == "normal" } {
- #return;
- };
- #var keyboard-mode {normal};
- #kill macro;
- #local count {¯o-backup[]};
- #if { $count > 0 } {
- #local idx {};
- #loop {1} {$count} {idx} {
- #local key {*macro-backup[+$idx]};
- #local action {$macro-backup[+$idx]};
- #line sub var #macro {$key} {$action};
- };
- };
- #class mode-disable-all-keys kill;
- #class mouse-less-mode kill;
- #buffer end;
- };
- #alias {keyboard.DisableAllKeys} {
- #class mouse-disable-all-keys open;
- #info macro {save};
- #var macro-backup {};
- #local count {&info[MACROS][]};
- #if { $count > 0 } {
- #local id {};
- #loop {1} {&info[MACROS][]} {id} {
- #line sub var #var key {$info[MACROS][+$id][arg1]};
- #replace key {\\} {\\};
- #var action {$info[MACROS][+$id][arg2]};
- #line sub var #var {macro-backup[$key]} {$action};
- };
- };
- #unvar key;
- #local ch {};
- #parse {abcdefghijklmnopqrstuvwxyz} {ch} {
- #macro {\c$ch} {#0} {1.000};
- #macro {$ch} {#0} {1.000};
- };
- #parse {ABCDEFGHIJKLMNOPQRSTUVWXYZ} {ch} {
- #macro {$ch} {#0} {1.000};
- };
- #parse {`1234567890-=~!@#$%^&*()_+} {ch} {
- #macro {$ch} {#0} {1.000};
- };
- #parse {,./<>?;':"[]\\|} {ch} {
- #macro {$ch} {#0} {1.000};
- };
- #macro {\x7B} {#0} {1.000};
- #macro {\x7D} {#0} {1.000};
- #class mouse-disable-all-keys close;
- };
|