Key mapping - flutter-tizen/flutter-tizen GitHub Wiki
The information in this document is only valid if you're using the HardwareKeyboard-based API. If your app uses the legacy RawKeyboard-based API, it is highly recommended to migrate to the new HardwareKeyboard-based API (deprecation notice). For example,
Legacy | Replacement |
---|---|
RawKeyboardListener |
KeyboardListener |
FocusNode.onKey |
FocusNode.onKeyEvent |
Physical key mapping
The following is a mapping from Tizen (XKB) key codes to Flutter's PhysicalKeyboardKeys.
Any key that is not present in the list will have a physical key code with the plane prefix of 0x02000000000. For example, the XF86AudioPlay key (whose platform key code is 0x000000d0) corresponds to the physical key code 0x20000000d0.
Tizen key code | PhysicalKeyboardKey | Physical key code |
---|---|---|
0x00000009 | escape |
0x00070029 |
0x0000000a | digit1 |
0x0007001e |
0x0000000b | digit2 |
0x0007001f |
0x0000000c | digit3 |
0x00070020 |
0x0000000d | digit4 |
0x00070021 |
0x0000000e | digit5 |
0x00070022 |
0x0000000f | digit6 |
0x00070023 |
0x00000010 | digit7 |
0x00070024 |
0x00000011 | digit8 |
0x00070025 |
0x00000012 | digit9 |
0x00070026 |
0x00000013 | digit0 |
0x00070027 |
0x00000014 | minus |
0x0007002d |
0x00000015 | equal |
0x0007002e |
0x00000016 | backspace |
0x0007002a |
0x00000017 | tab |
0x0007002b |
0x00000018 | keyQ |
0x00070014 |
0x00000019 | keyW |
0x0007001a |
0x0000001a | keyE |
0x00070008 |
0x0000001b | keyR |
0x00070015 |
0x0000001c | keyT |
0x00070017 |
0x0000001d | keyY |
0x0007001c |
0x0000001e | keyU |
0x00070018 |
0x0000001f | keyI |
0x0007000c |
0x00000020 | keyO |
0x00070012 |
0x00000021 | keyP |
0x00070013 |
0x00000022 | bracketLeft |
0x0007002f |
0x00000023 | bracketRight |
0x00070030 |
0x00000024 | enter |
0x00070028 |
0x00000025 | controlLeft |
0x000700e0 |
0x00000026 | keyA |
0x00070004 |
0x00000027 | keyS |
0x00070016 |
0x00000028 | keyD |
0x00070007 |
0x00000029 | keyF |
0x00070009 |
0x0000002a | keyG |
0x0007000a |
0x0000002b | keyH |
0x0007000b |
0x0000002c | keyJ |
0x0007000d |
0x0000002d | keyK |
0x0007000e |
0x0000002e | keyL |
0x0007000f |
0x0000002f | semicolon |
0x00070033 |
0x00000030 | quote |
0x00070034 |
0x00000031 | backquote |
0x00070035 |
0x00000032 | shiftLeft |
0x000700e1 |
0x00000033 | backslash |
0x00070031 |
0x00000034 | keyZ |
0x0007001d |
0x00000035 | keyX |
0x0007001b |
0x00000036 | keyC |
0x00070006 |
0x00000037 | keyV |
0x00070019 |
0x00000038 | keyB |
0x00070005 |
0x00000039 | keyN |
0x00070011 |
0x0000003a | keyM |
0x00070010 |
0x0000003b | comma |
0x00070036 |
0x0000003c | period |
0x00070037 |
0x0000003d | slash |
0x00070038 |
0x0000003e | shiftRight |
0x000700e5 |
0x0000003f | numpadMultiply |
0x00070055 |
0x00000040 | altLeft |
0x000700e2 |
0x00000041 | space |
0x0007002c |
0x00000042 | capsLock |
0x00070039 |
0x00000043 | f1 |
0x0007003a |
0x00000044 | f2 |
0x0007003b |
0x00000045 | f3 |
0x0007003c |
0x00000046 | f4 |
0x0007003d |
0x00000047 | f5 |
0x0007003e |
0x00000048 | f6 |
0x0007003f |
0x00000049 | f7 |
0x00070040 |
0x0000004a | f8 |
0x00070041 |
0x0000004b | f9 |
0x00070042 |
0x0000004c | f10 |
0x00070043 |
0x0000004d | numLock |
0x00070053 |
0x0000004e | scrollLock |
0x00070047 |
0x0000004f | numpad7 |
0x0007005f |
0x00000050 | numpad8 |
0x00070060 |
0x00000051 | numpad9 |
0x00070061 |
0x00000052 | numpadSubtract |
0x00070056 |
0x00000053 | numpad4 |
0x0007005c |
0x00000054 | numpad5 |
0x0007005d |
0x00000055 | numpad6 |
0x0007005e |
0x00000056 | numpadAdd |
0x00070057 |
0x00000057 | numpad1 |
0x00070059 |
0x00000058 | numpad2 |
0x0007005a |
0x00000059 | numpad3 |
0x0007005b |
0x0000005a | numpad0 |
0x00070062 |
0x0000005b | numpadDecimal |
0x00070063 |
0x0000005d | lang5 |
0x00070094 |
0x0000005e | intlBackslash |
0x00070064 |
0x0000005f | f11 |
0x00070044 |
0x00000060 | f12 |
0x00070045 |
0x00000061 | intlRo |
0x00070087 |
0x00000062 | lang3 |
0x00070092 |
0x00000063 | lang4 |
0x00070093 |
0x00000064 | convert |
0x0007008a |
0x00000065 | kanaMode |
0x00070088 |
0x00000066 | nonConvert |
0x0007008b |
0x00000068 | numpadEnter |
0x00070058 |
0x00000069 | controlRight |
0x000700e4 |
0x0000006a | numpadDivide |
0x00070054 |
0x0000006b | printScreen |
0x00070046 |
0x0000006c | altRight |
0x000700e6 |
0x0000006e | home |
0x0007004a |
0x0000006f | arrowUp |
0x00070052 |
0x00000070 | pageUp |
0x0007004b |
0x00000071 | arrowLeft |
0x00070050 |
0x00000072 | arrowRight |
0x0007004f |
0x00000073 | end |
0x0007004d |
0x00000074 | arrowDown |
0x00070051 |
0x00000075 | pageDown |
0x0007004e |
0x00000076 | insert |
0x00070049 |
0x00000077 | delete |
0x0007004c |
0x00000079 | audioVolumeMute |
0x0007007f |
0x0000007a | audioVolumeDown |
0x00070081 |
0x0000007b | audioVolumeUp |
0x00070080 |
0x0000007c | power |
0x00070066 |
0x0000007d | numpadEqual |
0x00070067 |
0x0000007e | numpadSignChange |
0x000700d7 |
0x0000007f | pause |
0x00070048 |
0x00000080 | showAllWindows |
0x000c029f |
0x00000081 | numpadComma |
0x00070085 |
0x00000082 | lang1 |
0x00070090 |
0x00000083 | lang2 |
0x00070091 |
0x00000084 | intlYen |
0x00070089 |
0x00000085 | metaLeft |
0x000700e3 |
0x00000086 | metaRight |
0x000700e7 |
0x00000087 | contextMenu |
0x00070065 |
0x00000088 | browserStop |
0x000c0226 |
0x00000089 | again |
0x00070079 |
0x0000008b | undo |
0x0007007a |
0x0000008c | select |
0x00070077 |
0x0000008d | copy |
0x0007007c |
0x0000008e | open |
0x00070074 |
0x0000008f | paste |
0x0007007d |
0x00000090 | find |
0x0007007e |
0x00000091 | cut |
0x0007007b |
0x00000092 | help |
0x00070075 |
0x00000094 | launchApp2 |
0x000c0192 |
0x00000096 | sleep |
0x00010082 |
0x00000097 | wakeUp |
0x00010083 |
0x00000098 | launchApp1 |
0x000c0194 |
0x0000009e | launchInternetBrowser |
0x000c0196 |
0x000000a0 | lockScreen |
0x000c019e |
0x000000a3 | launchMail |
0x000c018a |
0x000000a4 | browserFavorites |
0x000c022a |
0x000000a6 | browserBack |
0x000c0224 |
0x000000a7 | browserForward |
0x000c0225 |
0x000000a9 | eject |
0x000c00b8 |
0x000000ab | mediaTrackNext |
0x000c00b5 |
0x000000ac | mediaPlayPause |
0x000c00cd |
0x000000ad | mediaTrackPrevious |
0x000c00b6 |
0x000000ae | mediaStop |
0x000c00b7 |
0x000000af | mediaRecord |
0x000c00b2 |
0x000000b0 | mediaRewind |
0x000c00b4 |
0x000000b1 | launchPhone |
0x000c008c |
0x000000b3 | mediaSelect |
0x000c0183 |
0x000000b4 | browserHome |
0x000c0223 |
0x000000b5 | browserRefresh |
0x000c0227 |
0x000000b6 | exit |
0x000c0094 |
0x000000bb | numpadParenLeft |
0x000700b6 |
0x000000bc | numpadParenRight |
0x000700b7 |
0x000000bd | newKey |
0x000c0201 |
0x000000be | redo |
0x000c0279 |
0x000000bf | f13 |
0x00070068 |
0x000000c0 | f14 |
0x00070069 |
0x000000c1 | f15 |
0x0007006a |
0x000000c2 | f16 |
0x0007006b |
0x000000c3 | f17 |
0x0007006c |
0x000000c4 | f18 |
0x0007006d |
0x000000c5 | f19 |
0x0007006e |
0x000000c6 | f20 |
0x0007006f |
0x000000c7 | f21 |
0x00070070 |
0x000000c8 | f22 |
0x00070071 |
0x000000c9 | f23 |
0x00070072 |
0x000000ca | f24 |
0x00070073 |
0x000000d1 | mediaPause |
0x000c00b1 |
0x000000d6 | close |
0x000c0203 |
0x000000d7 | mediaPlay |
0x000c00b0 |
0x000000d8 | mediaFastForward |
0x000c00b3 |
0x000000d9 | bassBoost |
0x000c00e5 |
0x000000da | print |
0x000c0208 |
0x000000e1 | browserSearch |
0x000c0221 |
0x000000e8 | brightnessDown |
0x000c0070 |
0x000000e9 | brightnessUp |
0x000c006f |
0x000000eb | displayToggleIntExt |
0x000100b5 |
0x000000ed | kbdIllumDown |
0x000c007a |
0x000000ee | kbdIllumUp |
0x000c0079 |
0x000000ef | mailSend |
0x000c028c |
0x000000f0 | mailReply |
0x000c0289 |
0x000000f1 | mailForward |
0x000c028b |
0x000000f2 | save |
0x000c0207 |
0x000000f3 | launchDocuments |
0x000c01a7 |
0x000000fc | brightnessAuto |
0x000c0075 |
0x0000016e | info |
0x000c0060 |
0x00000172 | programGuide |
0x000c008d |
0x0000017a | closedCaptionToggle |
0x000c0061 |
0x0000017c | zoomToggle |
0x000c0232 |
0x0000017e | launchKeyboardLayout |
0x000c01ae |
0x00000190 | launchAudioBrowser |
0x000c01b7 |
0x00000195 | launchCalendar |
0x000c018e |
0x0000019d | mediaLast |
0x000c0083 |
0x000001a2 | channelUp |
0x000c009c |
0x000001a3 | channelDown |
0x000c009d |
0x000001aa | zoomIn |
0x000c022d |
0x000001ab | zoomOut |
0x000c022e |
0x000001ad | launchWordProcessor |
0x000c0184 |
0x000001af | launchSpreadsheet |
0x000c0186 |
0x000001b5 | launchContacts |
0x000c018d |
0x000001b7 | brightnessToggle |
0x000c0072 |
0x000001b8 | spellCheck |
0x000c01ab |
0x000001b9 | logOff |
0x000c019c |
0x0000024b | launchControlPanel |
0x000c019f |
0x0000024c | selectTask |
0x000c01a2 |
0x0000024d | launchScreenSaver |
0x000c01b1 |
0x0000024e | speechInputToggle |
0x000c00cf |
0x0000024f | launchAssistant |
0x000c01cb |
0x00000250 | keyboardLayoutSelect |
0x000c029d |
0x00000258 | brightnessMinimum |
0x000c0073 |
0x00000259 | brightnessMaximum |
0x000c0074 |
0x00000281 | privacyScreenToggle |
0x00000017 |
Logical key mapping
The following is a mapping from Tizen key symbols to Flutter's LogicalKeyboardKeys.
Basically all Tizen key symbols should be present in the below list. Any key that is unknown to the embedder (thus not listed below) will have a fixed logical key code of 0x02000000000. If you found such an invalid mapping, please report in https://github.com/flutter-tizen/flutter-tizen/issues.
Tizen key symbol | LogicalKeyboardKey | Logical key code |
---|---|---|
space | space |
0x00000000020 |
exclam | exclamation |
0x00000000021 |
quotedbl | quote |
0x00000000022 |
numbersign | numberSign |
0x00000000023 |
dollar | dollar |
0x00000000024 |
percent | percent |
0x00000000025 |
ampersand | ampersand |
0x00000000026 |
apostrophe | quoteSingle |
0x00000000027 |
parenleft | parenthesisLeft |
0x00000000028 |
parenright | parenthesisRight |
0x00000000029 |
asterisk | asterisk |
0x0000000002a |
plus | add |
0x0000000002b |
comma | comma |
0x0000000002c |
minus | minus |
0x0000000002d |
period | period |
0x0000000002e |
slash | slash |
0x0000000002f |
0 | digit0 |
0x00000000030 |
1 | digit1 |
0x00000000031 |
2 | digit2 |
0x00000000032 |
3 | digit3 |
0x00000000033 |
4 | digit4 |
0x00000000034 |
5 | digit5 |
0x00000000035 |
6 | digit6 |
0x00000000036 |
7 | digit7 |
0x00000000037 |
8 | digit8 |
0x00000000038 |
9 | digit9 |
0x00000000039 |
colon | colon |
0x0000000003a |
semicolon | semicolon |
0x0000000003b |
less | less |
0x0000000003c |
equal | equal |
0x0000000003d |
greater | greater |
0x0000000003e |
question | question |
0x0000000003f |
at | at |
0x00000000040 |
bracketleft | bracketLeft |
0x0000000005b |
backslash | backslash |
0x0000000005c |
bracketright | bracketRight |
0x0000000005d |
asciicircum | caret |
0x0000000005e |
underscore | underscore |
0x0000000005f |
grave | backquote |
0x00000000060 |
a | keyA |
0x00000000061 |
b | keyB |
0x00000000062 |
c | keyC |
0x00000000063 |
d | keyD |
0x00000000064 |
e | keyE |
0x00000000065 |
f | keyF |
0x00000000066 |
g | keyG |
0x00000000067 |
h | keyH |
0x00000000068 |
i | keyI |
0x00000000069 |
j | keyJ |
0x0000000006a |
k | keyK |
0x0000000006b |
l | keyL |
0x0000000006c |
m | keyM |
0x0000000006d |
n | keyN |
0x0000000006e |
o | keyO |
0x0000000006f |
p | keyP |
0x00000000070 |
q | keyQ |
0x00000000071 |
r | keyR |
0x00000000072 |
s | keyS |
0x00000000073 |
t | keyT |
0x00000000074 |
u | keyU |
0x00000000075 |
v | keyV |
0x00000000076 |
w | keyW |
0x00000000077 |
x | keyX |
0x00000000078 |
y | keyY |
0x00000000079 |
z | keyZ |
0x0000000007a |
braceleft | braceLeft |
0x0000000007b |
bar | bar |
0x0000000007c |
braceright | braceRight |
0x0000000007d |
asciitilde | tilde |
0x0000000007e |
BackSpace | backspace |
0x00100000008 |
Tab | tab |
0x00100000009 |
Return | enter |
0x0010000000d |
XF86Back | escape |
0x0010000001b |
Delete | delete |
0x0010000007f |
Caps_Lock | capsLock |
0x00100000104 |
Hyper_L | hyper |
0x00100000108 |
Num_Lock | numLock |
0x0010000010a |
Scroll_Lock | scrollLock |
0x0010000010c |
Super_L | superKey |
0x0010000010e |
Down | arrowDown |
0x00100000301 |
Left | arrowLeft |
0x00100000302 |
Right | arrowRight |
0x00100000303 |
Up | arrowUp |
0x00100000304 |
End | end |
0x00100000305 |
HomeXF86Home | home |
0x00100000306 |
Next | pageDown |
0x00100000307 |
Prior | pageUp |
0x00100000308 |
Clear | clear |
0x00100000401 |
Copy | copy |
0x00100000402 |
Cut | cut |
0x00100000404 |
Insert | insert |
0x00100000407 |
Paste | paste |
0x00100000408 |
Redo | redo |
0x00100000409 |
Undo | undo |
0x0010000040a |
Again | again |
0x00100000502 |
Cancel | cancel |
0x00100000504 |
XF86ContextMenuXF86MenuXF86SimpleMenu | contextMenu |
0x00100000505 |
Execute | execute |
0x00100000506 |
Find | find |
0x00100000507 |
Help | help |
0x00100000508 |
Pause | pause |
0x00100000509 |
Props | props |
0x0010000050b |
Select | select |
0x0010000050c |
XF86ZoomIn | zoomIn |
0x0010000050d |
XF86ZoomOut | zoomOut |
0x0010000050e |
XF86MonBrightnessDown | brightnessDown |
0x00100000601 |
XF86MonBrightnessUp | brightnessUp |
0x00100000602 |
XF86Eject | eject |
0x00100000604 |
XF86LogOff | logOff |
0x00100000605 |
XF86PowerOff | powerOff |
0x00100000607 |
XF86Hibernate | hibernate |
0x00100000609 |
XF86Standby | standby |
0x0010000060a |
WakeUp | wakeUp |
0x0010000060b |
Hangul | hangulMode |
0x00100000711 |
Hankaku | hankaku |
0x00100000715 |
Hiragana | hiragana |
0x00100000716 |
Hiragana_Katakana | hiraganaKatakana |
0x00100000717 |
Katakana | katakana |
0x0010000071a |
Romaji | romaji |
0x0010000071b |
Zenkaku | zenkaku |
0x0010000071c |
Zenkaku_Hankaku | zenkakuHankaku |
0x0010000071d |
F1 | f1 |
0x00100000801 |
F2 | f2 |
0x00100000802 |
F3 | f3 |
0x00100000803 |
F4 | f4 |
0x00100000804 |
F5 | f5 |
0x00100000805 |
F6 | f6 |
0x00100000806 |
F7 | f7 |
0x00100000807 |
F8 | f8 |
0x00100000808 |
F9 | f9 |
0x00100000809 |
F10 | f10 |
0x0010000080a |
F11 | f11 |
0x0010000080b |
F12 | f12 |
0x0010000080c |
F13 | f13 |
0x0010000080d |
F14 | f14 |
0x0010000080e |
F15 | f15 |
0x0010000080f |
F16 | f16 |
0x00100000810 |
F17 | f17 |
0x00100000811 |
F18 | f18 |
0x00100000812 |
F19 | f19 |
0x00100000813 |
F20 | f20 |
0x00100000814 |
F21 | f21 |
0x00100000815 |
F22 | f22 |
0x00100000816 |
F23 | f23 |
0x00100000817 |
F24 | f24 |
0x00100000818 |
XF86Close | close |
0x00100000a01 |
XF86MailForward | mailForward |
0x00100000a02 |
XF86PlayBack | mediaPlayPause |
0x00100000a05 |
XF86AudioStop | mediaStop |
0x00100000a07 |
XF86AudioNext | mediaTrackNext |
0x00100000a08 |
XF86AudioPrev | mediaTrackPrevious |
0x00100000a09 |
XF86New | newKey |
0x00100000a0a |
Open | open |
0x00100000a0b |
print |
0x00100000a0c | |
XF86Save | save |
0x00100000a0d |
XF86AudioLowerVolume | audioVolumeDown |
0x00100000a0f |
XF86AudioRaiseVolume | audioVolumeUp |
0x00100000a10 |
XF86AudioMute | audioVolumeMute |
0x00100000a11 |
XF86Calendar | launchCalendar |
0x00100000b02 |
XF86Mail | launchMail |
0x00100000b03 |
XF86Video | launchMediaPlayer |
0x00100000b04 |
XF86Music | launchMusicPlayer |
0x00100000b05 |
XF86ScreenSaver | launchScreenSaver |
0x00100000b07 |
XF86Excel | launchSpreadsheet |
0x00100000b08 |
XF86WWW | launchWebBrowser |
0x00100000b09 |
XF86WebCam | launchWebCam |
0x00100000b0a |
XF86Word | launchWordProcessor |
0x00100000b0b |
XF86Addressbook | launchContacts |
0x00100000b0c |
XF86Phone | launchPhone |
0x00100000b0d |
XF86Assistant | launchAssistant |
0x00100000b0e |
XF86ControlPanel | launchControlPanel |
0x00100000b0f |
XF86Favorites | browserFavorites |
0x00100000c02 |
XF86Forward | browserForward |
0x00100000c03 |
XF86HomePage | browserHome |
0x00100000c04 |
XF86Refresh | browserRefresh |
0x00100000c05 |
XF86Search | browserSearch |
0x00100000c06 |
XF86Stop | browserStop |
0x00100000c07 |
XF86ChannelDownXF86LowerChannel | channelDown |
0x00100000d0a |
XF86ChannelUpXF86RaiseChannel | channelUp |
0x00100000d0b |
XF86Red | colorF0Red |
0x00100000d0c |
XF86Green | colorF1Green |
0x00100000d0d |
XF86Yellow | colorF2Yellow |
0x00100000d0e |
XF86Blue | colorF3Blue |
0x00100000d0f |
XF86Caption | closedCaptionToggle |
0x00100000d12 |
XF86ChannelGuide | guide |
0x00100000d22 |
XF86Info | info |
0x00100000d25 |
XF86ChannelList | listProgram |
0x00100000d28 |
XF86AudioForward | mediaFastForward |
0x00100000d2c |
XF86AudioPause | mediaPause |
0x00100000d2e |
XF86AudioPlay | mediaPlay |
0x00100000d2f |
XF86AudioRecord | mediaRecord |
0x00100000d30 |
XF86AudioRewind | mediaRewind |
0x00100000d31 |
XF86AudioRandomPlay | randomToggle |
0x00100000d3d |
XF86Subtitle | subtitle |
0x00100000d47 |
XF86Display | tvInput |
0x00100000d4a |
XF86MediaTopMenu | mediaTopMenu |
0x00100000d55 |
XF86PreviousChannel | navigatePrevious |
0x00100000d59 |
XF86Call | call |
0x00100001002 |
XF863D | tv3DMode |
0x00100001101 |
XF86Suspend | suspend |
0x00200000000 |
XF86Sleep | sleep |
0x00200000002 |
yen | intlYen |
0x00200000022 |
Control_L | controlLeft |
0x00200000100 |
Control_R | controlRight |
0x00200000101 |
Shift_L | shiftLeft |
0x00200000102 |
Shift_R | shiftRight |
0x00200000103 |
Alt_L | altLeft |
0x00200000104 |
Alt_R | altRight |
0x00200000105 |
Meta_L | metaLeft |
0x00200000106 |
Meta_R | metaRight |
0x00200000107 |
KP_Enter | numpadEnter |
0x0020000020d |
KP_Multiply | numpadMultiply |
0x0020000022a |
KP_Add | numpadAdd |
0x0020000022b |
KP_Subtract | numpadSubtract |
0x0020000022d |
KP_Decimal | numpadDecimal |
0x0020000022e |
KP_Divide | numpadDivide |
0x0020000022f |
KP_0 | numpad0 |
0x00200000230 |
KP_1 | numpad1 |
0x00200000231 |
KP_2 | numpad2 |
0x00200000232 |
KP_3 | numpad3 |
0x00200000233 |
KP_4 | numpad4 |
0x00200000234 |
KP_5 | numpad5 |
0x00200000235 |
KP_6 | numpad6 |
0x00200000236 |
KP_7 | numpad7 |
0x00200000237 |
KP_8 | numpad8 |
0x00200000238 |
KP_9 | numpad9 |
0x00200000239 |
KP_Equal | numpadEqual |
0x0020000023d |