input_map.dart 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import 'package:flutter/services.dart';
  2. import 'package:xterm/src/core/input/keys.dart';
  3. final _idKeyMap = {
  4. LogicalKeyboardKey.hyper.keyId: TerminalKey.hyper,
  5. LogicalKeyboardKey.superKey.keyId: TerminalKey.superKey,
  6. LogicalKeyboardKey.fnLock.keyId: TerminalKey.fnLock,
  7. LogicalKeyboardKey.suspend.keyId: TerminalKey.suspend,
  8. LogicalKeyboardKey.resume.keyId: TerminalKey.resume,
  9. LogicalKeyboardKey.sleep.keyId: TerminalKey.sleep,
  10. LogicalKeyboardKey.wakeUp.keyId: TerminalKey.wakeUp,
  11. LogicalKeyboardKey.keyA.keyId: TerminalKey.keyA,
  12. LogicalKeyboardKey.keyB.keyId: TerminalKey.keyB,
  13. LogicalKeyboardKey.keyC.keyId: TerminalKey.keyC,
  14. LogicalKeyboardKey.keyD.keyId: TerminalKey.keyD,
  15. LogicalKeyboardKey.keyE.keyId: TerminalKey.keyE,
  16. LogicalKeyboardKey.keyF.keyId: TerminalKey.keyF,
  17. LogicalKeyboardKey.keyG.keyId: TerminalKey.keyG,
  18. LogicalKeyboardKey.keyH.keyId: TerminalKey.keyH,
  19. LogicalKeyboardKey.keyI.keyId: TerminalKey.keyI,
  20. LogicalKeyboardKey.keyJ.keyId: TerminalKey.keyJ,
  21. LogicalKeyboardKey.keyK.keyId: TerminalKey.keyK,
  22. LogicalKeyboardKey.keyL.keyId: TerminalKey.keyL,
  23. LogicalKeyboardKey.keyM.keyId: TerminalKey.keyM,
  24. LogicalKeyboardKey.keyN.keyId: TerminalKey.keyN,
  25. LogicalKeyboardKey.keyO.keyId: TerminalKey.keyO,
  26. LogicalKeyboardKey.keyP.keyId: TerminalKey.keyP,
  27. LogicalKeyboardKey.keyQ.keyId: TerminalKey.keyQ,
  28. LogicalKeyboardKey.keyR.keyId: TerminalKey.keyR,
  29. LogicalKeyboardKey.keyS.keyId: TerminalKey.keyS,
  30. LogicalKeyboardKey.keyT.keyId: TerminalKey.keyT,
  31. LogicalKeyboardKey.keyU.keyId: TerminalKey.keyU,
  32. LogicalKeyboardKey.keyV.keyId: TerminalKey.keyV,
  33. LogicalKeyboardKey.keyW.keyId: TerminalKey.keyW,
  34. LogicalKeyboardKey.keyX.keyId: TerminalKey.keyX,
  35. LogicalKeyboardKey.keyY.keyId: TerminalKey.keyY,
  36. LogicalKeyboardKey.keyZ.keyId: TerminalKey.keyZ,
  37. LogicalKeyboardKey.digit1.keyId: TerminalKey.digit1,
  38. LogicalKeyboardKey.digit2.keyId: TerminalKey.digit2,
  39. LogicalKeyboardKey.digit3.keyId: TerminalKey.digit3,
  40. LogicalKeyboardKey.digit4.keyId: TerminalKey.digit4,
  41. LogicalKeyboardKey.digit5.keyId: TerminalKey.digit5,
  42. LogicalKeyboardKey.digit6.keyId: TerminalKey.digit6,
  43. LogicalKeyboardKey.digit7.keyId: TerminalKey.digit7,
  44. LogicalKeyboardKey.digit8.keyId: TerminalKey.digit8,
  45. LogicalKeyboardKey.digit9.keyId: TerminalKey.digit9,
  46. LogicalKeyboardKey.digit0.keyId: TerminalKey.digit0,
  47. LogicalKeyboardKey.enter.keyId: TerminalKey.enter,
  48. LogicalKeyboardKey.escape.keyId: TerminalKey.escape,
  49. LogicalKeyboardKey.backspace.keyId: TerminalKey.backspace,
  50. LogicalKeyboardKey.tab.keyId: TerminalKey.tab,
  51. LogicalKeyboardKey.space.keyId: TerminalKey.space,
  52. LogicalKeyboardKey.minus.keyId: TerminalKey.minus,
  53. LogicalKeyboardKey.equal.keyId: TerminalKey.equal,
  54. LogicalKeyboardKey.bracketLeft.keyId: TerminalKey.bracketLeft,
  55. LogicalKeyboardKey.bracketRight.keyId: TerminalKey.bracketRight,
  56. LogicalKeyboardKey.backslash.keyId: TerminalKey.backslash,
  57. LogicalKeyboardKey.semicolon.keyId: TerminalKey.semicolon,
  58. LogicalKeyboardKey.quote.keyId: TerminalKey.quote,
  59. LogicalKeyboardKey.backquote.keyId: TerminalKey.backquote,
  60. LogicalKeyboardKey.comma.keyId: TerminalKey.comma,
  61. LogicalKeyboardKey.period.keyId: TerminalKey.period,
  62. LogicalKeyboardKey.slash.keyId: TerminalKey.slash,
  63. LogicalKeyboardKey.capsLock.keyId: TerminalKey.capsLock,
  64. LogicalKeyboardKey.f1.keyId: TerminalKey.f1,
  65. LogicalKeyboardKey.f2.keyId: TerminalKey.f2,
  66. LogicalKeyboardKey.f3.keyId: TerminalKey.f3,
  67. LogicalKeyboardKey.f4.keyId: TerminalKey.f4,
  68. LogicalKeyboardKey.f5.keyId: TerminalKey.f5,
  69. LogicalKeyboardKey.f6.keyId: TerminalKey.f6,
  70. LogicalKeyboardKey.f7.keyId: TerminalKey.f7,
  71. LogicalKeyboardKey.f8.keyId: TerminalKey.f8,
  72. LogicalKeyboardKey.f9.keyId: TerminalKey.f9,
  73. LogicalKeyboardKey.f10.keyId: TerminalKey.f10,
  74. LogicalKeyboardKey.f11.keyId: TerminalKey.f11,
  75. LogicalKeyboardKey.f12.keyId: TerminalKey.f12,
  76. LogicalKeyboardKey.printScreen.keyId: TerminalKey.printScreen,
  77. LogicalKeyboardKey.scrollLock.keyId: TerminalKey.scrollLock,
  78. LogicalKeyboardKey.pause.keyId: TerminalKey.pause,
  79. LogicalKeyboardKey.insert.keyId: TerminalKey.insert,
  80. LogicalKeyboardKey.home.keyId: TerminalKey.home,
  81. LogicalKeyboardKey.pageUp.keyId: TerminalKey.pageUp,
  82. LogicalKeyboardKey.delete.keyId: TerminalKey.delete,
  83. LogicalKeyboardKey.end.keyId: TerminalKey.end,
  84. LogicalKeyboardKey.pageDown.keyId: TerminalKey.pageDown,
  85. LogicalKeyboardKey.arrowRight.keyId: TerminalKey.arrowRight,
  86. LogicalKeyboardKey.arrowLeft.keyId: TerminalKey.arrowLeft,
  87. LogicalKeyboardKey.arrowDown.keyId: TerminalKey.arrowDown,
  88. LogicalKeyboardKey.arrowUp.keyId: TerminalKey.arrowUp,
  89. LogicalKeyboardKey.numLock.keyId: TerminalKey.numLock,
  90. LogicalKeyboardKey.numpadDivide.keyId: TerminalKey.numpadDivide,
  91. LogicalKeyboardKey.numpadMultiply.keyId: TerminalKey.numpadMultiply,
  92. LogicalKeyboardKey.numpadSubtract.keyId: TerminalKey.numpadSubtract,
  93. LogicalKeyboardKey.numpadAdd.keyId: TerminalKey.numpadAdd,
  94. LogicalKeyboardKey.numpadEnter.keyId: TerminalKey.numpadEnter,
  95. LogicalKeyboardKey.numpad1.keyId: TerminalKey.numpad1,
  96. LogicalKeyboardKey.numpad2.keyId: TerminalKey.numpad2,
  97. LogicalKeyboardKey.numpad3.keyId: TerminalKey.numpad3,
  98. LogicalKeyboardKey.numpad4.keyId: TerminalKey.numpad4,
  99. LogicalKeyboardKey.numpad5.keyId: TerminalKey.numpad5,
  100. LogicalKeyboardKey.numpad6.keyId: TerminalKey.numpad6,
  101. LogicalKeyboardKey.numpad7.keyId: TerminalKey.numpad7,
  102. LogicalKeyboardKey.numpad8.keyId: TerminalKey.numpad8,
  103. LogicalKeyboardKey.numpad9.keyId: TerminalKey.numpad9,
  104. LogicalKeyboardKey.numpad0.keyId: TerminalKey.numpad0,
  105. LogicalKeyboardKey.numpadDecimal.keyId: TerminalKey.numpadDecimal,
  106. LogicalKeyboardKey.intlBackslash.keyId: TerminalKey.intlBackslash,
  107. LogicalKeyboardKey.contextMenu.keyId: TerminalKey.contextMenu,
  108. LogicalKeyboardKey.power.keyId: TerminalKey.power,
  109. LogicalKeyboardKey.numpadEqual.keyId: TerminalKey.numpadEqual,
  110. LogicalKeyboardKey.f13.keyId: TerminalKey.f13,
  111. LogicalKeyboardKey.f14.keyId: TerminalKey.f14,
  112. LogicalKeyboardKey.f15.keyId: TerminalKey.f15,
  113. LogicalKeyboardKey.f16.keyId: TerminalKey.f16,
  114. LogicalKeyboardKey.f17.keyId: TerminalKey.f17,
  115. LogicalKeyboardKey.f18.keyId: TerminalKey.f18,
  116. LogicalKeyboardKey.f19.keyId: TerminalKey.f19,
  117. LogicalKeyboardKey.f20.keyId: TerminalKey.f20,
  118. LogicalKeyboardKey.f21.keyId: TerminalKey.f21,
  119. LogicalKeyboardKey.f22.keyId: TerminalKey.f22,
  120. LogicalKeyboardKey.f23.keyId: TerminalKey.f23,
  121. LogicalKeyboardKey.f24.keyId: TerminalKey.f24,
  122. LogicalKeyboardKey.open.keyId: TerminalKey.open,
  123. LogicalKeyboardKey.help.keyId: TerminalKey.help,
  124. LogicalKeyboardKey.select.keyId: TerminalKey.select,
  125. LogicalKeyboardKey.again.keyId: TerminalKey.again,
  126. LogicalKeyboardKey.undo.keyId: TerminalKey.undo,
  127. LogicalKeyboardKey.cut.keyId: TerminalKey.cut,
  128. LogicalKeyboardKey.copy.keyId: TerminalKey.copy,
  129. LogicalKeyboardKey.paste.keyId: TerminalKey.paste,
  130. LogicalKeyboardKey.find.keyId: TerminalKey.find,
  131. LogicalKeyboardKey.audioVolumeMute.keyId: TerminalKey.audioVolumeMute,
  132. LogicalKeyboardKey.audioVolumeUp.keyId: TerminalKey.audioVolumeUp,
  133. LogicalKeyboardKey.audioVolumeDown.keyId: TerminalKey.audioVolumeDown,
  134. LogicalKeyboardKey.numpadComma.keyId: TerminalKey.numpadComma,
  135. LogicalKeyboardKey.intlRo.keyId: TerminalKey.intlRo,
  136. LogicalKeyboardKey.kanaMode.keyId: TerminalKey.kanaMode,
  137. LogicalKeyboardKey.intlYen.keyId: TerminalKey.intlYen,
  138. LogicalKeyboardKey.convert.keyId: TerminalKey.convert,
  139. LogicalKeyboardKey.nonConvert.keyId: TerminalKey.nonConvert,
  140. LogicalKeyboardKey.lang1.keyId: TerminalKey.lang1,
  141. LogicalKeyboardKey.lang2.keyId: TerminalKey.lang2,
  142. LogicalKeyboardKey.lang3.keyId: TerminalKey.lang3,
  143. LogicalKeyboardKey.lang4.keyId: TerminalKey.lang4,
  144. LogicalKeyboardKey.lang5.keyId: TerminalKey.lang5,
  145. LogicalKeyboardKey.abort.keyId: TerminalKey.abort,
  146. LogicalKeyboardKey.props.keyId: TerminalKey.props,
  147. LogicalKeyboardKey.numpadParenLeft.keyId: TerminalKey.numpadParenLeft,
  148. LogicalKeyboardKey.numpadParenRight.keyId: TerminalKey.numpadParenRight,
  149. LogicalKeyboardKey.controlLeft.keyId: TerminalKey.controlLeft,
  150. LogicalKeyboardKey.shiftLeft.keyId: TerminalKey.shiftLeft,
  151. LogicalKeyboardKey.altLeft.keyId: TerminalKey.altLeft,
  152. LogicalKeyboardKey.metaLeft.keyId: TerminalKey.metaLeft,
  153. LogicalKeyboardKey.controlRight.keyId: TerminalKey.controlRight,
  154. LogicalKeyboardKey.shiftRight.keyId: TerminalKey.shiftRight,
  155. LogicalKeyboardKey.altRight.keyId: TerminalKey.altRight,
  156. LogicalKeyboardKey.metaRight.keyId: TerminalKey.metaRight,
  157. LogicalKeyboardKey.info.keyId: TerminalKey.info,
  158. LogicalKeyboardKey.closedCaptionToggle.keyId: TerminalKey.closedCaptionToggle,
  159. LogicalKeyboardKey.brightnessUp.keyId: TerminalKey.brightnessUp,
  160. LogicalKeyboardKey.brightnessDown.keyId: TerminalKey.brightnessDown,
  161. LogicalKeyboardKey.mediaLast.keyId: TerminalKey.mediaLast,
  162. LogicalKeyboardKey.launchPhone.keyId: TerminalKey.launchPhone,
  163. LogicalKeyboardKey.exit.keyId: TerminalKey.exit,
  164. LogicalKeyboardKey.channelUp.keyId: TerminalKey.channelUp,
  165. LogicalKeyboardKey.channelDown.keyId: TerminalKey.channelDown,
  166. LogicalKeyboardKey.mediaPlay.keyId: TerminalKey.mediaPlay,
  167. LogicalKeyboardKey.mediaPause.keyId: TerminalKey.mediaPause,
  168. LogicalKeyboardKey.mediaRecord.keyId: TerminalKey.mediaRecord,
  169. LogicalKeyboardKey.mediaFastForward.keyId: TerminalKey.mediaFastForward,
  170. LogicalKeyboardKey.mediaRewind.keyId: TerminalKey.mediaRewind,
  171. LogicalKeyboardKey.mediaTrackNext.keyId: TerminalKey.mediaTrackNext,
  172. LogicalKeyboardKey.mediaTrackPrevious.keyId: TerminalKey.mediaTrackPrevious,
  173. LogicalKeyboardKey.mediaStop.keyId: TerminalKey.mediaStop,
  174. LogicalKeyboardKey.eject.keyId: TerminalKey.eject,
  175. LogicalKeyboardKey.mediaPlayPause.keyId: TerminalKey.mediaPlayPause,
  176. LogicalKeyboardKey.speechInputToggle.keyId: TerminalKey.speechInputToggle,
  177. LogicalKeyboardKey.launchWordProcessor.keyId: TerminalKey.launchWordProcessor,
  178. LogicalKeyboardKey.launchSpreadsheet.keyId: TerminalKey.launchSpreadsheet,
  179. LogicalKeyboardKey.launchMail.keyId: TerminalKey.launchMail,
  180. LogicalKeyboardKey.launchContacts.keyId: TerminalKey.launchContacts,
  181. LogicalKeyboardKey.launchCalendar.keyId: TerminalKey.launchCalendar,
  182. LogicalKeyboardKey.logOff.keyId: TerminalKey.logOff,
  183. LogicalKeyboardKey.launchControlPanel.keyId: TerminalKey.launchControlPanel,
  184. LogicalKeyboardKey.spellCheck.keyId: TerminalKey.spellCheck,
  185. LogicalKeyboardKey.launchScreenSaver.keyId: TerminalKey.launchScreenSaver,
  186. LogicalKeyboardKey.launchAssistant.keyId: TerminalKey.launchAssistant,
  187. LogicalKeyboardKey.newKey.keyId: TerminalKey.newKey,
  188. LogicalKeyboardKey.close.keyId: TerminalKey.close,
  189. LogicalKeyboardKey.save.keyId: TerminalKey.save,
  190. LogicalKeyboardKey.print.keyId: TerminalKey.print,
  191. LogicalKeyboardKey.browserSearch.keyId: TerminalKey.browserSearch,
  192. LogicalKeyboardKey.browserHome.keyId: TerminalKey.browserHome,
  193. LogicalKeyboardKey.browserBack.keyId: TerminalKey.browserBack,
  194. LogicalKeyboardKey.browserForward.keyId: TerminalKey.browserForward,
  195. LogicalKeyboardKey.browserStop.keyId: TerminalKey.browserStop,
  196. LogicalKeyboardKey.browserRefresh.keyId: TerminalKey.browserRefresh,
  197. LogicalKeyboardKey.browserFavorites.keyId: TerminalKey.browserFavorites,
  198. LogicalKeyboardKey.zoomIn.keyId: TerminalKey.zoomIn,
  199. LogicalKeyboardKey.zoomOut.keyId: TerminalKey.zoomOut,
  200. LogicalKeyboardKey.zoomToggle.keyId: TerminalKey.zoomToggle,
  201. LogicalKeyboardKey.redo.keyId: TerminalKey.redo,
  202. LogicalKeyboardKey.mailReply.keyId: TerminalKey.mailReply,
  203. LogicalKeyboardKey.mailForward.keyId: TerminalKey.mailForward,
  204. LogicalKeyboardKey.mailSend.keyId: TerminalKey.mailSend,
  205. LogicalKeyboardKey.gameButton1.keyId: TerminalKey.gameButton1,
  206. LogicalKeyboardKey.gameButton2.keyId: TerminalKey.gameButton2,
  207. LogicalKeyboardKey.gameButton3.keyId: TerminalKey.gameButton3,
  208. LogicalKeyboardKey.gameButton4.keyId: TerminalKey.gameButton4,
  209. LogicalKeyboardKey.gameButton5.keyId: TerminalKey.gameButton5,
  210. LogicalKeyboardKey.gameButton6.keyId: TerminalKey.gameButton6,
  211. LogicalKeyboardKey.gameButton7.keyId: TerminalKey.gameButton7,
  212. LogicalKeyboardKey.gameButton8.keyId: TerminalKey.gameButton8,
  213. LogicalKeyboardKey.gameButton9.keyId: TerminalKey.gameButton9,
  214. LogicalKeyboardKey.gameButton10.keyId: TerminalKey.gameButton10,
  215. LogicalKeyboardKey.gameButton11.keyId: TerminalKey.gameButton11,
  216. LogicalKeyboardKey.gameButton12.keyId: TerminalKey.gameButton12,
  217. LogicalKeyboardKey.gameButton13.keyId: TerminalKey.gameButton13,
  218. LogicalKeyboardKey.gameButton14.keyId: TerminalKey.gameButton14,
  219. LogicalKeyboardKey.gameButton15.keyId: TerminalKey.gameButton15,
  220. LogicalKeyboardKey.gameButton16.keyId: TerminalKey.gameButton16,
  221. LogicalKeyboardKey.gameButtonA.keyId: TerminalKey.gameButtonA,
  222. LogicalKeyboardKey.gameButtonB.keyId: TerminalKey.gameButtonB,
  223. LogicalKeyboardKey.gameButtonC.keyId: TerminalKey.gameButtonC,
  224. LogicalKeyboardKey.gameButtonLeft1.keyId: TerminalKey.gameButtonLeft1,
  225. LogicalKeyboardKey.gameButtonLeft2.keyId: TerminalKey.gameButtonLeft2,
  226. LogicalKeyboardKey.gameButtonMode.keyId: TerminalKey.gameButtonMode,
  227. LogicalKeyboardKey.gameButtonRight1.keyId: TerminalKey.gameButtonRight1,
  228. LogicalKeyboardKey.gameButtonRight2.keyId: TerminalKey.gameButtonRight2,
  229. LogicalKeyboardKey.gameButtonSelect.keyId: TerminalKey.gameButtonSelect,
  230. LogicalKeyboardKey.gameButtonStart.keyId: TerminalKey.gameButtonStart,
  231. LogicalKeyboardKey.gameButtonThumbLeft.keyId: TerminalKey.gameButtonThumbLeft,
  232. LogicalKeyboardKey.gameButtonThumbRight.keyId:
  233. TerminalKey.gameButtonThumbRight,
  234. LogicalKeyboardKey.gameButtonX.keyId: TerminalKey.gameButtonX,
  235. LogicalKeyboardKey.gameButtonY.keyId: TerminalKey.gameButtonY,
  236. LogicalKeyboardKey.gameButtonZ.keyId: TerminalKey.gameButtonZ,
  237. LogicalKeyboardKey.fn.keyId: TerminalKey.fn,
  238. LogicalKeyboardKey.shift.keyId: TerminalKey.shift,
  239. LogicalKeyboardKey.meta.keyId: TerminalKey.meta,
  240. LogicalKeyboardKey.alt.keyId: TerminalKey.alt,
  241. LogicalKeyboardKey.control.keyId: TerminalKey.control,
  242. };
  243. TerminalKey? inputMap(LogicalKeyboardKey key) {
  244. return _idKeyMap[key.keyId];
  245. }