keyboard.tin 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #nop vim: set filetype=tt:;
  2. #var lib_ui_keyboard[META] {
  3. {NAME} {键盘绑定}
  4. {DESC} {允许玩家在正常输入模式和翻屏模式之间切换}
  5. {AUTHOR} {担子炮}
  6. };
  7. #alias {keyboard.LessMode} {
  8. keyboard.DisableAllKeys;
  9. #class mouse-less-mode open;
  10. #macro {g} {#buffer home};
  11. #macro {G} {keyboard.NormalMode};
  12. #macro {j} {#buffer down 1};
  13. #macro {k} {#buffer up 1};
  14. #macro {\cf} {#buffer down 20};
  15. #macro {\cb} {#buffer up 20};
  16. #macro {\cc} {keyboard.NormalMode};
  17. #class mouse-less-mode close;
  18. };
  19. #alias {keyboard.NormalMode} {
  20. #kill macro;
  21. #local count {&macro-backup[]};
  22. #if { $count > 0 } {
  23. #local idx {};
  24. #loop {1} {$count} {idx} {
  25. #local key {*macro-backup[+$idx]};
  26. #local action {$macro-backup[+$idx]};
  27. #line sub var #macro {$key} {$action};
  28. };
  29. };
  30. #class mode-disable-all-keys kill;
  31. #class mouse-less-mode kill;
  32. #buffer end;
  33. };
  34. #alias {keyboard.DisableAllKeys} {
  35. #class mouse-disable-all-keys open;
  36. #info macro {save};
  37. #var macro-backup {};
  38. #local count {&info[MACROS][]};
  39. #if { $count > 0 } {
  40. #local id {};
  41. #loop {1} {&info[MACROS][]} {id} {
  42. #line sub var #var key {$info[MACROS][+$id][arg1]};
  43. #replace key {\\} {\\};
  44. #var action {$info[MACROS][+$id][arg2]};
  45. #line sub var #var {macro-backup[$key]} {$action};
  46. };
  47. };
  48. #unvar key;
  49. #local ch {};
  50. #parse {abcdefghijklmnopqrstuvwxyz} {ch} {
  51. #macro {\c$ch} {#0} {1.000};
  52. #macro {$ch} {#0} {1.000};
  53. };
  54. #parse {ABCDEFGHIJKLMNOPQRSTUVWXYZ} {ch} {
  55. #macro {$ch} {#0} {1.000};
  56. };
  57. #parse {`1234567890-=~!@#$%^&*()_+} {ch} {
  58. #macro {$ch} {#0} {1.000};
  59. };
  60. #parse {,./<>?;':"[]\\|} {ch} {
  61. #macro {$ch} {#0} {1.000};
  62. };
  63. #macro {\e} {#0} {1.000};
  64. #macro {\x7B} {#0} {1.000};
  65. #macro {\x7D} {#0} {1.000};
  66. #class mouse-disable-all-keys close;
  67. };