Minecraft:Key codes: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| (17 intermediate revisions by the same user not shown) | |||
| Line 12: | Line 12: | ||
=== Keyboard codes === | === Keyboard codes === | ||
{{for| | {{info needed section|Instead of bug reports, it may be better to cite https://github.com/libsdl-org/SDL/pull/16239 for some unintuitive Linux mappings}} | ||
Keyboard buttons are handled as a signed 32-bit integer, meaning that through editing options.txt, values from {{code|key.keyboard.-2147483648}} to {{code|key.keyboard.2147483647}} can be specified without being rejected by the game as invalid. Any keys corresponding to a valid [[Minecraft:SDL3 scancodes|SDL key code]] will be automatically converted to one of the named keys below. | |||
The displayed names of several keys will change depending on the currently active system keyboard layout. The values displayed in this table assume a standard en-US QWERTY layout. | The displayed names of several keys will change depending on the currently active system keyboard layout. The values displayed in this table assume a standard en-US QWERTY layout. Some keys also have operating system dependent names, which are assigned different rows sharing an ID. | ||
{| class="wikitable sortable" data-description="Keyboard key and multimedia button IDs" style="margin-left:auto; margin-right:auto; text-align: center" | {| class="wikitable sortable" data-description="Keyboard key and multimedia button IDs" style="margin-left:auto; margin-right:auto; text-align: center" | ||
! ID | ! ID | ||
! Displayed name | ! Displayed name | ||
! | ! colspan="2" | Physical key or button | ||
! Translation key{{note|name=internal-name|If GLFW returns an internal name, Minecraft will display that name regardless of whether there exists a translation key.{{until|je 26.3}}<br>If the internal name of the key code from SDL is a single character, Minecraft will display that character regardless of whether there exists a translation key.{{upcoming|je 26.3}}}} | ! Translation key{{note|name=internal-name|If GLFW returns an internal name, Minecraft will display that name regardless of whether there exists a translation key.{{until|je 26.3}}<br>If the internal name of the key code from SDL is a single character, Minecraft will display that character regardless of whether there exists a translation key.{{upcoming|je 26.3}}}} | ||
|- | |- | ||
! {{code|key.keyboard.unknown}} | ! {{code|key.keyboard.unknown}} | ||
| {{btn|Not Bound}} | | {{btn|Not Bound}} | ||
| Unassigned{{note|Also used by keys unrecognised by SDL3, see {{bug|MC-310108}}{{upcoming|java 26.3}}}} | | colspan="2" | Unassigned{{note|Also used by keys unrecognised by SDL3, see {{bug|MC-310108}}{{upcoming|java 26.3}}}} | ||
| {{code|key.keyboard.unknown}} | |||
|- | |- | ||
! {{code|key.keyboard.0}} | ! {{code|key.keyboard.0}} | ||
| {{btn|0}} | | {{btn|0}} | ||
| {{key|0}} | | colspan="2" | {{key|0}} | ||
| {{note|name=single-character|No translation key exists and the internal name from GLFW{{until|je 26.3}} or SDL{{upcoming|je 26.3}} is displayed instead.}} | |||
|- | |- | ||
! {{code|key.keyboard.1}} | ! {{code|key.keyboard.1}} | ||
| | | {{btn|1}} | ||
| {{key|1}} | | colspan="2" | {{key|1}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.2}} | ! {{code|key.keyboard.2}} | ||
| | | {{btn|2}} | ||
| {{key|2}} | | colspan="2" | {{key|2}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.3}} | ! {{code|key.keyboard.3}} | ||
| | | {{btn|3}} | ||
| {{key|3}} | | colspan="2" | {{key|3}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.4}} | ! {{code|key.keyboard.4}} | ||
| | | {{btn|4}} | ||
| {{key|4}} | | colspan="2" | {{key|4}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.5}} | ! {{code|key.keyboard.5}} | ||
| | | {{btn|5}} | ||
| {{key|5}} | | colspan="2" | {{key|5}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.6}} | ! {{code|key.keyboard.6}} | ||
| | | {{btn|6}} | ||
| {{key|6}} | | colspan="2" | {{key|6}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.7}} | ! {{code|key.keyboard.7}} | ||
| | | {{btn|7}} | ||
| {{key|7}} | | colspan="2" | {{key|7}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.8}} | ! {{code|key.keyboard.8}} | ||
| | | {{btn|8}} | ||
| {{key|8}} | | colspan="2" | {{key|8}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.9}} | ! {{code|key.keyboard.9}} | ||
| | | {{btn|9}} | ||
| {{key|9}} | | colspan="2" | {{key|9}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.a}} | ! {{code|key.keyboard.a}} | ||
| | | {{btn|A}} | ||
| {{key|A}} | | colspan="2" | {{key|A}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.b}} | ! {{code|key.keyboard.b}} | ||
| | | {{btn|B}} | ||
| {{key|B}} | | colspan="2" | {{key|B}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.c}} | ! {{code|key.keyboard.c}} | ||
| | | {{btn|C}} | ||
| {{key|C}} | | colspan="2" | {{key|C}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.d}} | ! {{code|key.keyboard.d}} | ||
| | | {{btn|D}} | ||
| {{key|D}} | | colspan="2" | {{key|D}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.e}} | ! {{code|key.keyboard.e}} | ||
| | | {{btn|E}} | ||
| {{key|E}} | | colspan="2" | {{key|E}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.f}} | ! {{code|key.keyboard.f}} | ||
| | | {{btn|F}} | ||
| {{key|F}} | | colspan="2" | {{key|F}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.g}} | ! {{code|key.keyboard.g}} | ||
| | | {{btn|G}} | ||
| {{key|G}} | | colspan="2" | {{key|G}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.h}} | ! {{code|key.keyboard.h}} | ||
| | | {{btn|H}} | ||
| {{key|H}} | | colspan="2" | {{key|H}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.i}} | ! {{code|key.keyboard.i}} | ||
| | | {{btn|I}} | ||
| {{key|I}} | | colspan="2" | {{key|I}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.j}} | ! {{code|key.keyboard.j}} | ||
| | | {{btn|J}} | ||
| {{key|J}} | | colspan="2" | {{key|J}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.k}} | ! {{code|key.keyboard.k}} | ||
| | | {{btn|K}} | ||
| {{key|K}} | | colspan="2" | {{key|K}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.l}} | ! {{code|key.keyboard.l}} | ||
| | | {{btn|L}} | ||
| {{key|L}} | | colspan="2" | {{key|L}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.m}} | ! {{code|key.keyboard.m}} | ||
| | | {{btn|M}} | ||
| {{key|M}} | | colspan="2" | {{key|M}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.n}} | ! {{code|key.keyboard.n}} | ||
| | | {{btn|N}} | ||
| {{key|N}} | | colspan="2" | {{key|N}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.o}} | ! {{code|key.keyboard.o}} | ||
| | | {{btn|O}} | ||
| {{key|O}} | | colspan="2" | {{key|O}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.p}} | ! {{code|key.keyboard.p}} | ||
| | | {{btn|P}} | ||
| {{key|P}} | | colspan="2" | {{key|P}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.q}} | ! {{code|key.keyboard.q}} | ||
| | | {{btn|Q}} | ||
| {{key|Q}} | | colspan="2" | {{key|Q}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.r}} | ! {{code|key.keyboard.r}} | ||
| | | {{btn|R}} | ||
| {{key|R}} | | colspan="2" | {{key|R}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.s}} | ! {{code|key.keyboard.s}} | ||
| | | {{btn|S}} | ||
| {{key|S}} | | colspan="2" | {{key|S}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.t}} | ! {{code|key.keyboard.t}} | ||
| | | {{btn|T}} | ||
| {{key|T}} | | colspan="2" | {{key|T}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.u}} | ! {{code|key.keyboard.u}} | ||
| | | {{btn|U}} | ||
| {{key|U}} | | colspan="2" | {{key|U}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.v}} | ! {{code|key.keyboard.v}} | ||
| | | {{btn|V}} | ||
| {{key|V}} | | colspan="2" | {{key|V}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.w}} | ! {{code|key.keyboard.w}} | ||
| | | {{btn|W}} | ||
| {{key|W}} | | colspan="2" | {{key|W}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.x}} | ! {{code|key.keyboard.x}} | ||
| | | {{btn|X}} | ||
| {{key|X}} | | colspan="2" | {{key|X}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.y}} | ! {{code|key.keyboard.y}} | ||
| | | {{btn|Y}} | ||
| {{key|Y}} | | colspan="2" | {{key|Y}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.z}} | ! {{code|key.keyboard.z}} | ||
| | | {{btn|Z}} | ||
| {{key|Z}} | | colspan="2" | {{key|Z}} | ||
| {{note|name=single-character}} | |||
|- | |- | ||
! {{code|key.keyboard.space}} | ! {{code|key.keyboard.space}} | ||
| | | {{btn|Space}} | ||
| {{key|Space}} | | colspan="2" | {{key|Space}} | ||
| {{code|key.keyboard.space}} | |||
|- | |- | ||
! {{code|key.keyboard.tab}} | ! {{code|key.keyboard.tab}} | ||
| | | {{btn|Tab}} | ||
| {{key|Tab}} | | colspan="2" | {{key|Tab}} | ||
| {{code|key.keyboard.tab}} | |||
|- | |- | ||
! {{code|key.keyboard.apostrophe}} | ! {{code|key.keyboard.apostrophe}} | ||
| | | {{btn|'}} | ||
| {{key|'}} | | colspan="2" | {{key|'}} | ||
| {{code|key.keyboard.apostrophe}}{{note|name=unused-translation|This translation key is unused.{{until|je 26.3}}<br>This translation key is typically unused, but may be used with certain keyboard layouts or operating systems.{{upcoming|je 26.3}}}} | |||
|- | |- | ||
! {{code|key.keyboard.backslash}} | ! {{code|key.keyboard.backslash}} | ||
| | | {{btn|\}} | ||
| {{key|\}} | | colspan="2" | {{key|\}} (ANSI) | ||
| {{code|key.keyboard.backslash}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.comma}} | ! {{code|key.keyboard.comma}} | ||
| | | {{btn|,}} | ||
| {{key|,}} | | colspan="2" | {{key|,}} | ||
| {{code|key.keyboard.comma}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.equal}} | ! {{code|key.keyboard.equal}} | ||
| | | {{btn|{{=}}}} | ||
| {{key|=}} | | colspan="2" | {{key|{{=}}}} | ||
| {{code|key.keyboard.equal}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.grave.accent}} | ! {{code|key.keyboard.grave.accent}} | ||
| | | {{btn|`}} | ||
| {{key|`}} | | colspan="2" | {{key|`}} | ||
| {{code|key.keyboard.grave.accent}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.left.bracket}} | ! {{code|key.keyboard.left.bracket}} | ||
| | | {{btn|[}} | ||
| {{key|[}} | | colspan="2" | {{key|[}} | ||
| {{code|key.keyboard.left.bracket}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.minus}} | ! {{code|key.keyboard.minus}} | ||
| | | {{btn|-}} | ||
| {{key|-}} | | colspan="2" | {{key|-}} | ||
| {{code|key.keyboard.minus}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.period}} | ! {{code|key.keyboard.period}} | ||
| | | {{btn|.}} | ||
| {{key|.}} | | colspan="2" | {{key|.}} | ||
| {{code|key.keyboard.period}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.right.bracket}} | ! {{code|key.keyboard.right.bracket}} | ||
| | | {{btn|]}} | ||
| {{key|]}} | | colspan="2" | {{key|]}} | ||
| {{code|key.keyboard.right.bracket}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.semicolon}} | ! {{code|key.keyboard.semicolon}} | ||
| | | {{btn|<nowiki>;</nowiki>}} | ||
| {{key|;}} | | colspan="2" | {{key|;}} | ||
| {{code|key.keyboard.semicolon}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.slash}} | ! {{code|key.keyboard.slash}} | ||
| | | {{btn|/}} | ||
| {{key|/}} | | colspan="2" | {{key|/}} | ||
| {{code|key.keyboard.slash}}{{note|name=unused-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.world.1}} | ! {{code|key.keyboard.world.1}} | ||
| | | {{btn|World 1}}{{until|je 26.3}}{{note|device dependent; this appears on Windows, but it appears as \ on Linux}}<br>{{btn|\}}{{upcoming|je 26.3}} | ||
| Varies{{note|This appears to be what the international backslash key maps to in | | colspan="2" | Varies{{note|This appears to be what the international backslash key maps to in Linux, and what the ±/§ key maps to in macOS.<ref>https://github.com/glfw/glfw/issues/2481</ref> Windows instead uses World 2 for this purpose.}}{{until|java 26.3}}<br>{{key|\}} (ISO){{upcoming|java 26.3}} | ||
| {{code|key.keyboard.world.1}}{{note|name=world-key-translation|This translation key could be used with certain keyboard layouts or operating systems.}} | |||
|- | |- | ||
! {{code|key.keyboard.world.2}} | ! {{code|key.keyboard.world.2}} | ||
| | | {{btn|\}}{{until|je 26.3}}<br>{{btn|<nowiki>#</nowiki>}}{{upcoming|je 26.3}} | ||
| Varies{{note|From 1.13 to 26.2, the international backslash key maps to this on Windows | | colspan="2" | Varies{{note|From 1.13 to 26.2, the international backslash key maps to this on Windows. This no longer appears to be the case as of 26.3, where it uses World 1.}}{{until|java 26.3}}<br>Cannot be assigned{{upcoming|java 26.3}} | ||
| {{code|key.keyboard.world.2}}{{note|name=world-key-translation}} | |||
|- | |- | ||
! {{code|key.keyboard.f1}} | ! {{code|key.keyboard.f1}} | ||
| | | {{btn|F1}} | ||
| {{key|F1}} | | colspan="2" | {{key|F1}} | ||
| {{code|key.keyboard.f1}} | |||
|- | |- | ||
! {{code|key.keyboard.f2}} | ! {{code|key.keyboard.f2}} | ||
| | | {{btn|F2}} | ||
| {{key|F2}} | | colspan="2" | {{key|F2}} | ||
| {{code|key.keyboard.f2}} | |||
|- | |- | ||
! {{code|key.keyboard.f3}} | ! {{code|key.keyboard.f3}} | ||
| | | {{btn|F3}} | ||
| {{key|F3}} | | colspan="2" | {{key|F3}} | ||
| {{code|key.keyboard.f3}} | |||
|- | |- | ||
! {{code|key.keyboard.f4}} | ! {{code|key.keyboard.f4}} | ||
| | | {{btn|F4}} | ||
| {{key|F4}} | | colspan="2" | {{key|F4}} | ||
| {{code|key.keyboard.f4}} | |||
|- | |- | ||
! {{code|key.keyboard.f5}} | ! {{code|key.keyboard.f5}} | ||
| | | {{btn|F5}} | ||
| {{key|F5}} | | colspan="2" | {{key|F5}} | ||
| {{code|key.keyboard.f5}} | |||
|- | |- | ||
! {{code|key.keyboard.f6}} | ! {{code|key.keyboard.f6}} | ||
| | | {{btn|F6}} | ||
| {{key|F6}} | | colspan="2" | {{key|F6}} | ||
| {{code|key.keyboard.f6}} | |||
|- | |- | ||
! {{code|key.keyboard.f7}} | ! {{code|key.keyboard.f7}} | ||
| | | {{btn|F7}} | ||
| {{key|F7}} | | colspan="2" | {{key|F7}} | ||
| {{code|key.keyboard.f7}} | |||
|- | |- | ||
! {{code|key.keyboard.f8}} | ! {{code|key.keyboard.f8}} | ||
| | | {{btn|F8}} | ||
| {{key|F8}} | | colspan="2" | {{key|F8}} | ||
| {{code|key.keyboard.f8}} | |||
|- | |- | ||
! {{code|key.keyboard.f9}} | ! {{code|key.keyboard.f9}} | ||
| | | {{btn|F9}} | ||
| {{key|F9}} | | colspan="2" | {{key|F9}} | ||
| {{code|key.keyboard.f9}} | |||
|- | |- | ||
! {{code|key.keyboard.f10}} | ! {{code|key.keyboard.f10}} | ||
| | | {{btn|F10}} | ||
| {{key|F10}} | | colspan="2" | {{key|F10}} | ||
| {{code|key.keyboard.f10}} | |||
|- | |- | ||
! {{code|key.keyboard.f11}} | ! {{code|key.keyboard.f11}} | ||
| | | {{btn|F11}} | ||
| {{key|F11}} | | colspan="2" | {{key|F11}} | ||
| {{code|key.keyboard.f11}} | |||
|- | |- | ||
! {{code|key.keyboard.f12}} | ! {{code|key.keyboard.f12}} | ||
| | | {{btn|F12}} | ||
| {{key|F12}} | | colspan="2" | {{key|F12}} | ||
| {{code|key.keyboard.f12}} | |||
|- | |- | ||
! {{code|key.keyboard.f13}} | ! {{code|key.keyboard.f13}} | ||
| | | {{btn|F13}} | ||
| {{key|F13}} | | colspan="2" | {{key|F13}}{{note|The "Settings" key also maps to this on Linux, for some reason: {{bug|MC-310119}}}} | ||
| | | {{code|key.keyboard.f13}} | ||
|- | |- | ||
! {{code|key.keyboard.f14}} | ! {{code|key.keyboard.f14}} | ||
| | | {{btn|F14}} | ||
| {{key|F14}} | | colspan="2" | {{key|F14}} | ||
| {{code|key.keyboard.f14}} | |||
|- | |- | ||
! {{code|key.keyboard.f15}} | ! {{code|key.keyboard.f15}} | ||
| | | {{btn|F15}} | ||
| {{key|F15}} | | colspan="2" | {{key|F15}} | ||
| {{code|key.keyboard.f15}} | |||
|- | |- | ||
! {{code|key.keyboard.f16}} | ! {{code|key.keyboard.f16}} | ||
| | | {{btn|F16}} | ||
| {{key|F16}} | | colspan="2" | {{key|F16}} | ||
| {{code|key.keyboard.f16}} | |||
|- | |- | ||
! {{code|key.keyboard.f17}} | ! {{code|key.keyboard.f17}} | ||
| | | {{btn|F17}} | ||
| {{key|F17}} | | colspan="2" | {{key|F17}} | ||
| {{code|key.keyboard.f17}} | |||
|- | |- | ||
! {{code|key.keyboard.f18}} | ! {{code|key.keyboard.f18}} | ||
| | | {{btn|F18}} | ||
| {{key|F18}} | | colspan="2" | {{key|F18}} | ||
| {{code|key.keyboard.f18}} | |||
|- | |- | ||
! {{code|key.keyboard.f19}} | ! {{code|key.keyboard.f19}} | ||
| | | {{btn|F19}} | ||
| {{key|F19}} | | colspan="2" | {{key|F19}} | ||
| {{code|key.keyboard.f19}} | |||
|- | |- | ||
! {{code|key.keyboard.f20}} | ! {{code|key.keyboard.f20}} | ||
| | | {{btn|F20}} | ||
| {{key|F20}} | | colspan="2" | {{key|F20}} | ||
| {{code|key.keyboard.f20}} | |||
|- | |- | ||
! {{code|key.keyboard.f21}} | ! {{code|key.keyboard.f21}} | ||
| | | {{btn|F21}} | ||
| {{key|F21}} | | colspan="2" | {{key|F21}} | ||
| {{code|key.keyboard.f21}} | |||
|- | |- | ||
! {{code|key.keyboard.f22}} | ! {{code|key.keyboard.f22}} | ||
| | | {{btn|F22}} | ||
| {{key|F22}} | | colspan="2" | {{key|F22}} | ||
| {{code|key.keyboard.f22}} | |||
|- | |- | ||
! {{code|key.keyboard.f23}} | ! {{code|key.keyboard.f23}} | ||
| | | {{btn|F23}} | ||
| {{key|F23}} | | colspan="2" | {{key|F23}} | ||
| {{code|key.keyboard.f23}} | |||
|- | |- | ||
! {{code|key.keyboard.f24}} | ! {{code|key.keyboard.f24}} | ||
| | | {{btn|F24}} | ||
| {{key|F24}} | | colspan="2" | {{key|F24}} | ||
| {{code|key.keyboard.f24}} | |||
|- | |- | ||
! {{code|key.keyboard.f25}}{{until|java 26.3}} | ! {{code|key.keyboard.f25}}{{until|java 26.3}} | ||
| | | {{btn|F25}} | ||
| Unclear{{note|Ostensibly for a twenty-fifth function key, but Windows, Linux and presumably macOS only recognise up to F24. Some keyboards from decades past go past F24, and Arch Linux can apparently recognise up to F246, however it is unknown if Minecraft would recognise either of these.}} | | colspan="2" | Unclear{{note|Ostensibly for a twenty-fifth function key, but Windows, Linux and presumably macOS only recognise up to F24. Some keyboards from decades past go past F24, and Arch Linux can apparently recognise up to F246, however it is unknown if Minecraft would recognise either of these.}} | ||
| {{code|key.keyboard.f25}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.0}} | ! {{code|key.keyboard.keypad.0}} | ||
| | | {{btn|0}}{{until|java 26.3}}<br>{{btn|Keypad 0}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 0}} | | colspan="2" | {{key|Numpad 0}} | ||
| {{code|key.keyboard.keypad.0}}{{note|name=unused-translation-until|This translation key is unused.{{until|je 26.3}}}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.1}} | ! {{code|key.keyboard.keypad.1}} | ||
| | | {{btn|1}}{{until|java 26.3}}<br>{{btn|Keypad 1}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 1}} | | colspan="2" | {{key|Numpad 1}} | ||
| {{code|key.keyboard.keypad.1}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.2}} | ! {{code|key.keyboard.keypad.2}} | ||
| | | {{btn|2}}{{until|java 26.3}}<br>{{btn|Keypad 2}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 2}} | | colspan="2" | {{key|Numpad 2}} | ||
| {{code|key.keyboard.keypad.2}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.3}} | ! {{code|key.keyboard.keypad.3}} | ||
| | | {{btn|3}}{{until|java 26.3}}<br>{{btn|Keypad 3}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 3}} | | colspan="2" | {{key|Numpad 3}} | ||
| {{code|key.keyboard.keypad.3}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.4}} | ! {{code|key.keyboard.keypad.4}} | ||
| | | {{btn|4}}{{until|java 26.3}}<br>{{btn|Keypad 4}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 4}} | | colspan="2" | {{key|Numpad 4}} | ||
| {{code|key.keyboard.keypad.4}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.5}} | ! {{code|key.keyboard.keypad.5}} | ||
| | | {{btn|5}}{{until|java 26.3}}<br>{{btn|Keypad 5}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 5}} | | colspan="2" | {{key|Numpad 5}} | ||
| {{code|key.keyboard.keypad.5}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.6}} | ! {{code|key.keyboard.keypad.6}} | ||
| | | {{btn|6}}{{until|java 26.3}}<br>{{btn|Keypad 6}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 6}} | | colspan="2" | {{key|Numpad 6}} | ||
| {{code|key.keyboard.keypad.6}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.7}} | ! {{code|key.keyboard.keypad.7}} | ||
| | | {{btn|7}}{{until|java 26.3}}<br>{{btn|Keypad 7}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 7}} | | colspan="2" | {{key|Numpad 7}} | ||
| {{code|key.keyboard.keypad.7}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.8}} | ! {{code|key.keyboard.keypad.8}} | ||
| | | {{btn|8}}{{until|java 26.3}}<br>{{btn|Keypad 8}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 8}} | | colspan="2" | {{key|Numpad 8}} | ||
| {{code|key.keyboard.keypad.8}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.9}} | ! {{code|key.keyboard.keypad.9}} | ||
| | | {{btn|9}}{{until|java 26.3}}<br>{{btn|Keypad 9}}{{upcoming|java 26.3}} | ||
| {{key|Numpad 9}} | | colspan="2" | {{key|Numpad 9}} | ||
| {{code|key.keyboard.keypad.9}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.add}} | ! {{code|key.keyboard.keypad.add}} | ||
| | | {{btn|+}}{{until|java 26.3}}<br>{{btn|Keypad +}}{{upcoming|java 26.3}} | ||
| {{key|Numpad <nowiki>+</nowiki>}} | | colspan="2" | {{key|Numpad <nowiki>+</nowiki>}} | ||
| {{code|key.keyboard.keypad.add}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.subtract}} | ! {{code|key.keyboard.keypad.subtract}} | ||
| | | {{btn|-}}{{until|java 26.3}}<br>{{btn|Keypad -}}{{upcoming|java 26.3}} | ||
| {{key|Numpad -}} | | colspan="2" | {{key|Numpad -}} | ||
| {{code|key.keyboard.keypad.subtract}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.multiply}} | ! {{code|key.keyboard.keypad.multiply}} | ||
| | | {{btn|<nowiki>*</nowiki>}}{{until|java 26.3}}<br>{{btn|Keypad *}}{{upcoming|java 26.3}} | ||
| {{key|Numpad *}} | | colspan="2" | {{key|Numpad *}} | ||
| {{code|key.keyboard.keypad.multiply}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.divide}} | ! {{code|key.keyboard.keypad.divide}} | ||
| | | {{btn|/}}{{until|java 26.3}}<br>{{btn|Keypad /}}{{upcoming|java 26.3}} | ||
| {{key|Numpad /}} | | colspan="2" | {{key|Numpad /}} | ||
| {{code|key.keyboard.keypad.divide}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.equal}} | ! {{code|key.keyboard.keypad.equal}} | ||
| | | {{btn|{{=}}}}{{until|java 26.3}}<br>{{btn|Keypad {{=}}}}{{upcoming|java 26.3}} | ||
| {{key|Numpad {{=}}}} | | colspan="2" | {{key|Numpad {{=}}}} | ||
| {{code|key.keyboard.keypad.equal}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.plus.minus}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.keypad.plus.minus}}{{upcoming|java 26.3}} | ||
| | | {{btn|Keypad ±}} | ||
| {{key|Numpad ±}} | | colspan="2" | {{key|Numpad ±}} | ||
| {{code|key.keyboard.keypad.plus.minus}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.left.parenthesis}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.keypad.left.parenthesis}}{{upcoming|java 26.3}} | ||
| | | {{btn|Keypad (}} | ||
| {{key|Numpad (}} | | colspan="2" | {{key|Numpad (}} | ||
| {{code|key.keyboard.keypad.left.parenthesis}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.right.parenthesis}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.keypad.right.parenthesis}}{{upcoming|java 26.3}} | ||
| | | {{btn|Keypad )}} | ||
| {{key|Numpad )}} | | colspan="2" | {{key|Numpad )}} | ||
| {{code|key.keyboard.keypad.right.parenthesis}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.decimal}} | ! {{code|key.keyboard.keypad.decimal}} | ||
| | | {{btn|.}}{{until|java 26.3}}<br>{{btn|Keypad Decimal}}{{upcoming|java 26.3}} | ||
| {{key|Numpad .}}{{until|java 26.3}} | | colspan="2" | {{key|Numpad .}}{{until|java 26.3}}<br>Cannot be assigned{{upcoming|java 26.3}} | ||
| {{code|key.keyboard.keypad.decimal}}{{note|name=unused-translation-until}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.period}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.keypad.period}}{{upcoming|java 26.3}} | ||
| | | {{btn|Keypad .}} | ||
| {{key|Numpad .}}<ref>{{bug|MC-310826}}</ref> | | colspan="2" | {{key|Numpad .}}<ref>{{bug|MC-310826}}</ref> | ||
| {{code|key.keyboard.keypad.period}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.comma}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.keypad.comma}}{{upcoming|java 26.3}} | ||
| | | {{btn|Keypad ,}} | ||
| | | colspan="2" | {{key|Numpad ,}}{{note|Appears to instead be interpreted as the keypad decimal point key on Linux: {{bug|MC-310845}}}} | ||
| {{code|key.keyboard.keypad.comma}} | |||
|- | |- | ||
! {{code|key.keyboard.keypad.enter}} | ! {{code|key.keyboard.keypad.enter}} | ||
| | | {{btn|Keypad Enter}} | ||
| {{key|Numpad Enter}} | | colspan="2" | {{key|Numpad Enter}} | ||
| {{code|key.keyboard.keypad.enter}} | |||
|- | |- | ||
! {{code|key.keyboard.menu}} | ! {{code|key.keyboard.menu}} | ||
| | | {{btn|Menu}} | ||
| {{key|Menu}}{{until|java 26.3}} | | colspan="2" | {{key|Menu}}{{until|java 26.3}}<br>{{key|Compose}}{{upcoming|je 26.3}} | ||
| {{code|key.keyboard.menu}} | |||
|- | |- | ||
! {{code|key.keyboard.application}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.application}}{{upcoming|java 26.3}} | ||
| | | {{btn|Application}} | ||
| {{key|Menu}} | | colspan="2" | {{key|Menu}} | ||
| {{code|key.keyboard.application}} | |||
|- | |- | ||
! {{code|key.keyboard.num.lock}} | ! {{code|key.keyboard.num.lock}} | ||
| | | {{btn|Num Lock}} | ||
| {{key|Num Lock}} | | colspan="2" | {{key|Num Lock}} | ||
| {{code|key.keyboard.num.lock}} | |||
|- | |- | ||
! {{code|key.keyboard.caps.lock}} | ! {{code|key.keyboard.caps.lock}} | ||
| | | {{btn|Caps Lock}} | ||
| {{key|Caps Lock}} | | colspan="2" | {{key|Caps Lock}} | ||
| {{code|key.keyboard.caps.lock}} | |||
|- | |- | ||
! {{code|key.keyboard.scroll.lock}} | ! {{code|key.keyboard.scroll.lock}} | ||
| | | {{btn|Scroll Lock}} | ||
| {{key|Scroll Lock}} | | colspan="2" | {{key|Scroll Lock}} | ||
| {{code|key.keyboard.scroll.lock}} | |||
|- | |- | ||
! {{code|key.keyboard.delete}} | ! {{code|key.keyboard.delete}} | ||
| | | {{btn|Delete}} | ||
| {{key|Delete}} | | colspan="2" | {{key|Delete}} | ||
| {{code|key.keyboard.delete}} | |||
|- | |- | ||
! {{code|key.keyboard.insert}} | ! {{code|key.keyboard.insert}} | ||
| | | {{btn|Insert}} | ||
| {{key|Insert}} | | colspan="2" | {{key|Insert}} | ||
| {{code|key.keyboard.insert}} | |||
|- | |- | ||
! {{code|key.keyboard.home}} | ! {{code|key.keyboard.home}} | ||
| | | {{btn|Home}} | ||
| {{key|Home}} | | colspan="2" | {{key|Home}} | ||
| {{code|key.keyboard.home}} | |||
|- | |- | ||
! {{code|key.keyboard.end}} | ! {{code|key.keyboard.end}} | ||
| | | {{btn|End}} | ||
| {{key|End}} | | colspan="2" | {{key|End}} | ||
| {{code|key.keyboard.end}} | |||
|- | |- | ||
! {{code|key.keyboard.print.screen}} | ! {{code|key.keyboard.print.screen}} | ||
| | | {{btn|Print Screen}} | ||
| {{key|Print Screen}} | | colspan="2" | {{key|Print Screen}} | ||
| {{code|key.keyboard.print.screen}} | |||
|- | |- | ||
! {{code|key.keyboard.pause}} | ! {{code|key.keyboard.pause}} | ||
| | | {{btn|Pause}} | ||
| {{key|Pause}} | | colspan="2" | {{key|Pause}} | ||
| {{code|key.keyboard.pause}} | |||
|- | |- | ||
! {{code|key.keyboard.page.up}} | ! {{code|key.keyboard.page.up}} | ||
| | | {{btn|Page Up}} | ||
| {{key|Page Up}} | | colspan="2" | {{key|Page Up}} | ||
| {{code|key.keyboard.page.up}} | |||
|- | |- | ||
! {{code|key.keyboard.page.down}} | ! {{code|key.keyboard.page.down}} | ||
| | | {{btn|Page Down}} | ||
| {{key|Page Down}} | | colspan="2" | {{key|Page Down}} | ||
| {{code|key.keyboard.page.down}} | |||
|- | |- | ||
! {{code|key.keyboard.up}} | ! {{code|key.keyboard.up}} | ||
| | | {{btn|Up Arrow}} | ||
| {{key|Up}} | | colspan="2" | {{key|Up}} | ||
| {{code|key.keyboard.up}} | |||
|- | |- | ||
! {{code|key.keyboard.left}} | ! {{code|key.keyboard.left}} | ||
| | | {{btn|Left Arrow}} | ||
| {{key|Left}} | | colspan="2" | {{key|Left}} | ||
| {{code|key.keyboard.left}} | |||
|- | |- | ||
! {{code|key.keyboard.right}} | ! {{code|key.keyboard.right}} | ||
| | | {{btn|Right Arrow}} | ||
| {{key|Right}} | | colspan="2" | {{key|Right}} | ||
| {{code|key.keyboard.right}} | |||
|- | |- | ||
! {{code|key.keyboard.down}} | ! {{code|key.keyboard.down}} | ||
| | | {{btn|Down Arrow}} | ||
| {{key|Down}} | | colspan="2" | {{key|Down}} | ||
| {{code|key.keyboard.down}} | |||
|- | |- | ||
! {{code|key.keyboard.escape}} | ! {{code|key.keyboard.escape}} | ||
| | | {{btn|Escape}} | ||
| colspan="2" | Cannot be assigned{{note|Trying to bind anything to the Escape key causes it to become Not Bound instead. This can only be set by modifying options.txt.}} | |||
| {{code|key.keyboard.escape}} | |||
|- | |- | ||
! {{code|key.keyboard.enter}} | ! {{code|key.keyboard.enter}} | ||
| | | {{btn|Enter}} | ||
| {{key|Return}} | | colspan="2" | {{key|Return}} | ||
| {{code|key.keyboard.enter}} | |||
|- | |- | ||
! {{code|key.keyboard.backspace}} | ! {{code|key.keyboard.backspace}} | ||
| | | {{btn|Backspace}} | ||
| {{key|Backspace}} | | colspan="2" | {{key|Backspace}} | ||
| {{code|key.keyboard.backspace}} | |||
|- | |- | ||
! {{code|key.keyboard.left.shift}} | ! {{code|key.keyboard.left.shift}} | ||
| | | {{btn|Left Shift}} | ||
| {{key|Left Shift}} | | colspan="2" | {{key|Left Shift}} | ||
| {{code|key.keyboard.left.shift}} | |||
|- | |- | ||
! {{code|key.keyboard.right.shift}} | ! {{code|key.keyboard.right.shift}} | ||
| | | {{btn|Right Shift}} | ||
| {{key|Right Shift}} | | colspan="2" | {{key|Right Shift}} | ||
| {{code|key.keyboard.right.shift}} | |||
|- | |- | ||
! {{code|key.keyboard.left.control}} | ! {{code|key.keyboard.left.control}} | ||
| | | {{btn|Left Control}} | ||
| {{key|Left Control}} | | colspan="2" | {{key|Left Control}} | ||
| {{code|key.keyboard.left.control}} | |||
|- | |- | ||
! {{code|key.keyboard.right.control}} | ! {{code|key.keyboard.right.control}} | ||
| | | {{btn|Right Control}} | ||
| {{key|Right Control}} | | colspan="2" | {{key|Right Control}} | ||
| {{code|key.keyboard.right.control}} | |||
|- | |- | ||
! rowspan="2" | {{code|key.keyboard.left.alt}} | ! rowspan="2" | {{code|key.keyboard.left.alt}} | ||
| | | {{btn|Left Alt}} | ||
| {{key|Left Alt | | Windows<br>Linux | ||
| {{key|Left Alt}} | |||
| {{code|key.keyboard.left.alt}} | |||
|- | |- | ||
| | | {{btn|Left Option}}{{upcoming|java 26.3}} | ||
| {{key|Left Option | | macOS | ||
| {{key|Left Option}} | |||
| {{code|key.keyboard.left.option}}{{upcoming|java 26.3}} | |||
|- | |- | ||
! rowspan="2" | {{code|key.keyboard.right.alt}} | ! rowspan="2" | {{code|key.keyboard.right.alt}} | ||
| | | {{btn|Right Alt}}<ref>{{bug|MC-266253}}</ref> | ||
| {{key|Right Alt | | Windows<br>Linux | ||
| {{key|Right Alt}} | |||
| {{code|key.keyboard.right.alt}} | |||
|- | |- | ||
| | | {{btn|Right Option}}{{upcoming|java 26.3}} | ||
| {{key|Right Option | | macOS | ||
| {{key|Right Option}} | |||
| {{code|key.keyboard.right.option}}{{upcoming|java 26.3}} | |||
|- | |- | ||
! rowspan="3" | {{code|key.keyboard.left.win}} | ! rowspan="3" | {{code|key.keyboard.left.win}} | ||
| | | {{btn|Left Win}}{{until|java 26.3}}<br>{{btn|Left Windows}}{{upcoming|java 26.3}} | ||
| {{ | | Windows | ||
| | | {{key|Left Windows}} | ||
| {{code|key.keyboard.left.win}}{{until|java 26.3}}<br>{{code|key.keyboard.left.windows}}{{upcoming|java 26.3}} | |||
|- | |- | ||
| | | {{btn|Left Command}}{{upcoming|java 26.3}} | ||
| {{key|Left Command | | macOS | ||
| {{key|Left Command}} | |||
| {{code|key.keyboard.left.command}}{{upcoming|java 26.3}} | |||
|- | |- | ||
| | | {{btn|Left Meta}}{{upcoming|java 26.3}} | ||
| {{key|Left Meta | | Linux | ||
| {{key|Left Meta}} | |||
| {{code|key.keyboard.left.meta}}{{upcoming|java 26.3}} | |||
|- | |- | ||
! rowspan="3" | {{code|key.keyboard.right.win}} | ! rowspan="3" | {{code|key.keyboard.right.win}} | ||
| | | {{btn|Right Win}}{{until|java 26.3}}<br>{{btn|Right Windows}}{{upcoming|java 26.3}} | ||
| {{ | | Windows | ||
| | | {{key|Right Windows}} | ||
| {{code|key.keyboard.right.win}}{{until|java 26.3}}<br>{{code|key.keyboard.right.windows}}{{upcoming|java 26.3}} | |||
|- | |- | ||
| | | {{btn|Right Command}}{{upcoming|java 26.3}} | ||
| {{key|Right Command | | macOS | ||
| {{key|Right Command}} | |||
| {{code|key.keyboard.right.command}}{{upcoming|java 26.3}} | |||
|- | |- | ||
| | | {{btn|Right Meta}}{{upcoming|java 26.3}} | ||
| {{key| | | Linux | ||
| | | {{key|Right Meta}} | ||
| {{code|key.keyboard.right.meta}}{{upcoming|java 26.3}} | |||
|- | |||
! rowspan="2" | {{code|key.keyboard.lang1}}{{upcoming|java 26.3}}<ref name="genericintl">Mojang have chosen to assign generic, non-descriptive titles to these keys, matching their internal SDL3 IDs rather than the actual real-life key names: {{bug|MC-311175}}</ref> | |||
| rowspan="2" | {{btn|Language 1}}<ref name="genericintl"/> | |||
| Windows/Linux | |||
| {{key|Hangeul}} | |||
| rowspan="2" | {{code|key.keyboard.lang1}}<ref name="genericintl"/> | |||
|- | |||
| macOS | |||
| {{key|Kana}} | |||
|- | |||
! rowspan="2" | {{code|key.keyboard.lang2}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| rowspan="2" | {{btn|Language 2}}<ref name="genericintl"/> | |||
| Windows/Linux | |||
| {{key|Hanja}} | |||
| rowspan="2" | {{code|key.keyboard.lang2}}<ref name="genericintl"/> | |||
|- | |||
| macOS | |||
| {{key|Eisu}} | |||
|- | |||
! {{code|key.keyboard.lang3}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|Language 3}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|Katakana}} | |||
| {{code|key.keyboard.lang3}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.lang4}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|Language 4}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|Hiragana}} | |||
| {{code|key.keyboard.lang4}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.lang5}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|Language 5}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|Zenkaku/Hankaku}}{{note|May not work correctly on Linux: {{bug|MC-310984}}}} | |||
| {{code|key.keyboard.lang5}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.international1}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|International 1}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|ろ}} (JIS) / {{key|/}} (ABNT) | |||
| {{code|key.keyboard.international1}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.international2}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|International 2}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|Katakana/Hiragana}} | |||
| {{code|key.keyboard.international2}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.international3}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|International 3}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|¥}} | |||
| {{code|key.keyboard.international3}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.international4}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|International 4}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|Henkan}} | |||
| {{code|key.keyboard.international4}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.international5}}{{upcoming|java 26.3}}<ref name="genericintl"/> | |||
| {{btn|International 5}}<ref name="genericintl"/> | |||
| colspan="2" | {{key|Muhenkan}} | |||
| {{code|key.keyboard.international5}}<ref name="genericintl"/> | |||
|- | |||
! {{code|key.keyboard.international6}}{{upcoming|java 26.3}}<ref name="generic9800">{{bug|MC-311184}}</ref> | |||
| {{btn|International 6}}<ref name="generic9800"/> | |||
| colspan="2" | {{key|Numpad ,}} (PC-9800){{note|Windows only; it is assumed that KEY_KPJPCOMMA is meant to represent this on Linux, but is incorrectly bound to International 5 - see https://github.com/libsdl-org/SDL/pull/16168}} | |||
| {{code|key.keyboard.international6}}<ref name="generic9800"/> | |||
|- | |||
! {{code|key.keyboard.alternate.erase}}{{upcoming|java 26.3}} | |||
| {{btn|Alternate Erase}} | |||
| colspan="2" | {{note|Not recognised for some reason: {{bug|MC-311320}}}} | |||
| {{code|key.keyboard.alternate.erase}} | |||
|- | |- | ||
! {{code|key.keyboard.mute}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.mute}}{{upcoming|java 26.3}} | ||
| | | {{btn|Mute}} | ||
| {{key|Mute}} | | colspan="2" | {{key|Mute}} | ||
| {{code|key.keyboard.mute}} | |||
|- | |- | ||
! {{code|key.keyboard.volume.down}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.volume.down}}{{upcoming|java 26.3}} | ||
| | | {{btn|Volume Down}} | ||
| {{key|Volume Down}} | | colspan="2" | {{key|Volume Down}} | ||
| {{code|key.keyboard.volume.down}} | |||
|- | |- | ||
! {{code|key.keyboard.volume.up}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.volume.up}}{{upcoming|java 26.3}} | ||
| | | {{btn|Volume Up}} | ||
| {{key|Volume Up}} | | colspan="2" | {{key|Volume Up}} | ||
| {{code|key.keyboard.volume.up}} | |||
|- | |- | ||
! {{code|key.keyboard.media.play.pause}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.media.play.pause}}{{upcoming|java 26.3}} | ||
| | | {{btn|Play/Pause}} | ||
| {{key|Play | | colspan="2" | {{key|Media Play Pause}} | ||
| | | {{code|key.keyboard.media.play.pause}} | ||
|- | |||
! {{code|key.keyboard.media.play}}{{upcoming|java 26.3}} | |||
| {{btn|Media Play}} | |||
| colspan="2" | {{key|Media Play}} | |||
| {{code|key.keyboard.media.play}} | |||
|- | |||
! {{code|key.keyboard.media.pause}}{{upcoming|java 26.3}} | |||
| {{btn|Media Pause}} | |||
| colspan="2" | {{key|Media Pause}} | |||
| {{code|key.keyboard.media.pause}} | |||
|- | |||
! {{code|key.keyboard.media.record}}{{upcoming|java 26.3}} | |||
| {{btn|Record}} | |||
| colspan="2" | {{key|Media Record}} | |||
| {{code|key.keyboard.media.record}} | |||
|- | |||
! {{code|key.keyboard.media.fast.forward}}{{upcoming|java 26.3}} | |||
| {{btn|Fast Forward}} | |||
| colspan="2" | {{key|Media Fast Forward}} | |||
| {{code|key.keyboard.media.fast.forward}} | |||
|- | |||
! {{code|key.keyboard.media.rewind}}{{upcoming|java 26.3}} | |||
| {{btn|Rewind}} | |||
| colspan="2" | {{key|Media Rewind}} | |||
| {{code|key.keyboard.media.rewind}} | |||
|- | |||
! {{code|key.keyboard.media.next.track}}{{upcoming|java 26.3}} | |||
| {{btn|Next Track}} | |||
| colspan="2" | {{key|Media Next Track}} | |||
| {{code|key.keyboard.media.next.track}} | |||
|- | |||
! {{code|key.keyboard.media.previous.track}}{{upcoming|java 26.3}} | |||
| {{btn|Previous Track}} | |||
| colspan="2" | {{key|Media Previous Track}} | |||
| {{code|key.keyboard.media.previous.track}} | |||
|- | |||
! {{code|key.keyboard.media.stop}}{{upcoming|java 26.3}} | |||
| {{btn|Media Stop}} | |||
| colspan="2" | {{key|Media Stop}} | |||
| {{code|key.keyboard.media.stop}} | |||
|- | |||
! {{code|key.keyboard.media.eject}}{{upcoming|java 26.3}} | |||
| {{btn|Eject}} | |||
| colspan="2" | {{key|Media Eject}} | |||
| {{code|key.keyboard.media.eject}} | |||
|- | |||
! {{code|key.keyboard.media.select}}{{upcoming|java 26.3}} | |||
| {{btn|Media Select}} | |||
| colspan="2" | {{key|Media Select}} | |||
| {{code|key.keyboard.media.select}} | |||
|- | |- | ||
! {{code|key.keyboard.stop}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.stop}}{{upcoming|java 26.3}} | ||
| | | {{btn|Stop}} | ||
| {{key| | | colspan="2" | {{key|Stop}} | ||
| | | {{code|key.keyboard.stop}} | ||
|- | |||
! {{code|key.keyboard.cancel}}{{upcoming|java 26.3}} | |||
| {{btn|Cancel}} | |||
| colspan="2" | {{key|Cancel}} | |||
| {{code|key.keyboard.cancel}} | |||
|- | |- | ||
! {{code|key.keyboard.cut}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.cut}}{{upcoming|java 26.3}} | ||
| | | {{btn|Cut}} | ||
| {{key|Cut}} | | colspan="2" | {{key|Cut}} | ||
| {{code|key.keyboard.cut}} | |||
|- | |- | ||
! {{code|key.keyboard.copy}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.copy}}{{upcoming|java 26.3}} | ||
| | | {{btn|Copy}} | ||
| {{key|Copy}} | | colspan="2" | {{key|Copy}} | ||
| {{code|key.keyboard.copy}} | |||
|- | |- | ||
! {{code|key.keyboard.paste}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.paste}}{{upcoming|java 26.3}} | ||
| | | {{btn|Paste}} | ||
| {{key|Paste}} | | colspan="2" | {{key|Paste}} | ||
| {{code|key.keyboard.paste}} | |||
|- | |- | ||
! {{code|key.keyboard.undo}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.undo}}{{upcoming|java 26.3}} | ||
| | | {{btn|Undo}} | ||
| {{key|Undo}} | | colspan="2" | {{key|Undo}} | ||
| {{code|key.keyboard.undo}} | |||
|- | |- | ||
! {{code|key.keyboard.again}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.again}}{{upcoming|java 26.3}} | ||
| | | {{btn|Again}} | ||
| {{key|Redo}}<ref>{{bug|MC-310863}}</ref> | | colspan="2" | {{key|Redo}}<ref>{{bug|MC-310863}}</ref> | ||
| {{code|key.keyboard.again}} | |||
|- | |- | ||
! {{code|key.keyboard.new}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.ac.new}}{{upcoming|java 26.3}} | ||
| | | {{btn|AC New}} | ||
| {{key|New}} | | colspan="2" | {{key|Application New}} | ||
| {{code|key.keyboard.ac.new}} | |||
|- | |- | ||
! {{code|key.keyboard. | ! {{code|key.keyboard.ac.open}}{{upcoming|java 26.3}} | ||
| | | {{btn|AC Open}} | ||
| {{key|Save}} | | colspan="2" | {{key|Application Open}} | ||
| | | {{code|key.keyboard.ac.open}} | ||
|- | |||
! {{code|key.keyboard.ac.save}}{{upcoming|java 26.3}} | |||
| {{btn|AC Save}} | |||
| colspan="2" | {{key|Application Save}} | |||
| {{code|key.keyboard.ac.save}} | |||
|- | |- | ||
! {{code|key.keyboard.help}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.help}}{{upcoming|java 26.3}} | ||
| | | {{btn|Help}} | ||
| {{key|Help}} | | colspan="2" | {{key|Help}} | ||
| {{code|key.keyboard.help}} | |||
|- | |- | ||
! {{code|key.keyboard.find}}{{upcoming|java 26.3}} | ! {{code|key.keyboard.find}}{{upcoming|java 26.3}} | ||
| style="text-align:center | | {{btn|Find}} | ||
| {{key| | | colspan="2" | {{key|Find}} | ||
| | | {{code|key.keyboard.find}} | ||
|- | |||
! {{code|key.keyboard.ac.close}}{{upcoming|java 26.3}} | |||
| {{btn|AC Close}} | |||
| colspan="2" | {{key|Application Close}} | |||
| {{code|key.keyboard.ac.close}} | |||
|- | |||
! {{code|key.keyboard.ac.exit}}{{upcoming|java 26.3}} | |||
| {{btn|AC Exit}} | |||
| colspan="2" | {{key|Application Exit}} | |||
| {{code|key.keyboard.ac.exit}} | |||
|- | |||
! {{code|key.keyboard.ac.stop}}{{upcoming|java 26.3}} | |||
| {{btn|AC Stop}} | |||
| colspan="2" | {{key|Application Stop}} | |||
| {{code|key.keyboard.ac.stop}} | |||
|- | |||
! {{code|key.keyboard.ac.properties}}{{upcoming|java 26.3}} | |||
| {{btn|AC Properties}} | |||
| colspan="2" | {{key|Application Properties}} | |||
| {{code|key.keyboard.ac.properties}} | |||
|- | |||
! {{code|key.keyboard.ac.search}}{{upcoming|java 26.3}} | |||
| {{btn|AC Search}} | |||
| colspan="2" | {{key|Application Search}} | |||
| {{code|key.keyboard.ac.search}} | |||
|- | |||
! {{code|key.keyboard.ac.home}}{{upcoming|java 26.3}} | |||
| {{btn|AC Home}} | |||
| colspan="2" | {{key|Application Home}} | |||
| {{code|key.keyboard.ac.home}} | |||
|- | |||
! {{code|key.keyboard.ac.back}}{{upcoming|java 26.3}} | |||
| {{btn|AC Back}} | |||
| colspan="2" | {{key|Application Back}} | |||
| {{code|key.keyboard.ac.back}} | |||
|- | |||
! {{code|key.keyboard.ac.forward}}{{upcoming|java 26.3}} | |||
| {{btn|AC Forward}} | |||
| colspan="2" | {{key|Application Forward}} | |||
| {{code|key.keyboard.ac.forward}} | |||
|- | |||
! {{code|key.keyboard.ac.refresh}}{{upcoming|java 26.3}} | |||
| {{btn|AC Refresh}} | |||
| colspan="2" | {{key|Application Refresh}} | |||
| {{code|key.keyboard.ac.refresh}} | |||
|- | |||
! {{code|key.keyboard.ac.bookmarks}}{{upcoming|java 26.3}} | |||
| {{btn|AC Favorites}} | |||
| colspan="2" | {{key|Application Bookmarks}} | |||
| {{code|key.keyboard.ac.bookmarks}} | |||
|- | |||
! {{code|key.keyboard.power}}{{upcoming|java 26.3}} | |||
| {{btn|Power}} | |||
| colspan="2" | {{key|Power}} | |||
| {{code|key.keyboard.power}} | |||
|- | |||
! {{code|key.keyboard.sleep}}{{upcoming|java 26.3}} | |||
| {{btn|Sleep}} | |||
| colspan="2" | {{key|Sleep}} | |||
| {{code|key.keyboard.sleep}} | |||
|- | |||
! {{code|key.keyboard.wake}}{{upcoming|java 26.3}} | |||
| {{btn|Wake}} | |||
| colspan="2" | {{key|Wake}} | |||
| {{code|key.keyboard.wake}} | |||
|- | |||
! {{code|scancode.{{note|name="oldkeynumberid"|Two or three digit number representing operating system key ID}}}}{{until|java 26.3}} | |||
| {{btn|scancode.}}{{note|name="oldkeynumberid"}} | |||
| colspan="2" | Keys with no assigned ID | |||
| {{code|scancode.{{note|name="oldkeynumberid"}}}} | |||
|- | |||
! {{code|key.keyboard.{{note|name="newkeynumberid"|Three digit number representing SDL3 key ID}}}}{{upcoming|java 26.3}}{{more info|confirm whether key numbers undefined by SDL3 use this still}} | |||
| {{btn|key.keyboard.}}{{note|name="newkeynumberid"}} | |||
| colspan="2" | Keys with no assigned ID | |||
| {{code|key.keyboard.{{note|name="newkeynumberid"}}}} | |||
|} | |||
==== Unused ==== | |||
{{info needed section|on Linux, SysRq, Channel Up, Channel Down, Mode, Select and Clear should be usable - move at least some to above table and cite bug reports explaining why they aren't, maybe making a new one for the first beforehand}} | |||
Minecraft includes IDs and translation strings for all named SDL3 key IDs, even those which are not present in the key binding files for any supported operating system, and therefore cannot be accessed. | |||
These can be set via modifying {{code|[[Minecraft:options.txt]]}} manually, but will not be triggerable due to the lack of an associated key. | |||
Keys such as World 2, Keypad Decimal and Escape may warrant inclusion here later.{{upcoming|java 26.3}} | |||
{| class="wikitable sortable" data-description="IDs of unused keys" style="margin-left:auto; margin-right:auto; text-align: center" | |||
! ID{{note|The translation string is assumed to match unless stated otherwise.}} | |||
! Displayed name | |||
! Notes | |||
|- | |||
! {{code|key.keyboard.ac.print}} | |||
| {{btn|AC Print}} | |||
| | |||
|- | |||
! {{code|key.keyboard.call}} | |||
| {{btn|Call}} | |||
| This is a mobile phone button.<ref name="SDLmasterlist">https://wiki.libsdl.org/SDL3/SDL_Scancode</ref> | |||
|- | |||
! {{code|key.keyboard.channel.down}} | |||
| {{btn|Channel Down}} | |||
| | |||
|- | |||
! {{code|key.keyboard.channel.up}} | |||
| {{btn|Channel Up}} | |||
| | |||
|- | |||
! {{code|key.keyboard.clear}} | |||
| {{btn|Clear}} | |||
| | |||
|- | |||
! {{code|key.keyboard.clear.again}} | |||
| {{btn|Clear Again}} | |||
| | |||
|- | |||
! {{code|key.keyboard.crsel}} | |||
| {{btn|CrSel}} | |||
| | |||
|- | |||
! {{code|key.keyboard.currency.subunit}} | |||
| {{btn|Currency Subunit}} | |||
| | |||
|- | |||
! {{code|key.keyboard.currency.unit}} | |||
| {{btn|Currency Unit}} | |||
| | |||
|- | |||
! {{code|key.keyboard.decimal.separator}} | |||
| {{btn|Decimal Separator}} | |||
| | |||
|- | |||
! {{code|key.keyboard.end.call}} | |||
| {{btn|End Call}} | |||
| This is a mobile phone button.<ref name="SDLmasterlist"/> | |||
|- | |||
! {{code|key.keyboard.enter2}} | |||
| {{btn|Enter 2}} | |||
| | |||
|- | |||
! {{code|key.keyboard.execute}} | |||
| {{btn|Execute}} | |||
| | |||
|- | |||
! {{code|key.keyboard.exsel}} | |||
| {{btn|ExSel}} | |||
| | |||
|- | |||
! {{code|key.keyboard.international7}} | |||
| {{btn|International 7}} | |||
| | |||
|- | |||
! {{code|key.keyboard.international8}} | |||
| {{btn|International 8}} | |||
| | |||
|- | |||
! {{code|key.keyboard.international9}} | |||
| {{btn|International 9}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.00}} | |||
| {{btn|Keypad 00}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.000}} | |||
| {{btn|Keypad 000}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.a}} | |||
| {{btn|Keypad A}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.ampersand}} | |||
| {{btn|Keypad &}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.at}} | |||
| {{btn|Keypad @}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.b}} | |||
| {{btn|Keypad B}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.backspace}} | |||
| {{btn|Keypad Backspace}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.binary}} | |||
| {{btn|Keypad Binary}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.c}} | |||
| {{btn|Keypad C}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.clear}} | |||
| {{btn|Keypad Clear}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.clear.entry}} | |||
| {{btn|Keypad Clear Entry}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.colon}} | |||
| {{btn|Keypad :}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.d}} | |||
| {{btn|Keypad D}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.double.ampersand}} | |||
| {{btn|Keypad &&}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.double.vertical.bar}} | |||
| {{btn|Keypad <nowiki>||</nowiki>}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.e}} | |||
| {{btn|Keypad E}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.equals.as400}} | |||
| {{btn|Keypad {{=}} (AS400)}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.exclamation}} | |||
| {{btn|Keypad !}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.f}} | |||
| {{btn|Keypad F}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.greater}} | |||
| {{btn|Keypad >}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.hash}} | |||
| {{btn|Keypad #}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.hexadecimal}} | |||
| {{btn|Keypad Hexadecimal}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.left.brace}} | |||
| {{btn|Keypad {}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.less}} | |||
| {{btn|Keypad <}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.add}} | |||
| {{btn|Keypad M+}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.clear}} | |||
| {{btn|Keypad MC}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.divide}} | |||
| {{btn|Keypad M/}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.multiply}} | |||
| {{btn|Keypad M*}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.recall}} | |||
| {{btn|Keypad MR}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.store}} | |||
| {{btn|Keypad MS}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.memory.subtract}} | |||
| {{btn|Keypad M-}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.octal}} | |||
| {{btn|Keypad Octal}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.percent}} | |||
| {{btn|Keypad %}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.power}} | |||
| {{btn|Keypad ^}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.right.brace}} | |||
| {{btn|Keypad <nowiki>}</nowiki>}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.space}} | |||
| {{btn|Keypad Space}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.tab}} | |||
| {{btn|Keypad Tab}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.vertical.bar}} | |||
| {{btn|Keypad <nowiki>|</nowiki>}} | |||
| | |||
|- | |||
! {{code|key.keyboard.keypad.xor}} | |||
| {{btn|Keypad XOR}} | |||
| | |||
|- | |||
! {{code|key.keyboard.lang6}} | |||
| {{btn|Language 6}} | |||
| | |||
|- | |- | ||
! {{code| | ! {{code|key.keyboard.lang7}} | ||
| | | {{btn|Language 7}} | ||
| | | | ||
|- | |- | ||
! {{code|key.keyboard.{{ | ! {{code|key.keyboard.lang8}} | ||
| | | {{btn|Language 8}} | ||
| | | | ||
| | |- | ||
! {{code|key.keyboard.lang9}} | |||
| {{btn|Language 9}} | |||
| | |||
|- | |||
! {{code|key.keyboard.mode}} | |||
| {{btn|Mode}} | |||
| Accidentally assignable in Linux.<ref>{{bug|MC-310984}}</ref> | |||
|- | |||
! {{code|key.keyboard.oper}} | |||
| {{btn|Oper}} | |||
| | |||
|- | |||
! {{code|key.keyboard.out}} | |||
| {{btn|Out}} | |||
| | |||
|- | |||
! {{code|key.keyboard.prior}} | |||
| {{btn|Prior}} | |||
| | |||
|- | |||
! {{code|key.keyboard.select}} | |||
| {{btn|Select}} | |||
| | |||
|- | |||
! {{code|key.keyboard.separator}} | |||
| {{btn|Separator}} | |||
| | |||
|- | |||
! {{code|key.keyboard.soft.left}} | |||
| {{btn|Soft Left}} | |||
| This is a mobile phone button.<ref name="SDLmasterlist"/> | |||
|- | |||
! {{code|key.keyboard.soft.right}} | |||
| {{btn|Soft Right}} | |||
| This is a mobile phone button.<ref name="SDLmasterlist"/> | |||
|- | |||
! {{code|key.keyboard.sys.req}} | |||
| {{btn|SysRq}}{{note|Mojang have chosen to keep this name, despite it being abbreviated in direct contrast to almost all other keys: {{bug|MC-311713}}}} | |||
| | |||
|- | |||
! {{code|key.keyboard.thousands.separator}} | |||
| {{btn|Thousands Separator}} | |||
| | |||
|} | |} | ||
| Line 767: | Line 1,264: | ||
Only the first eight mouse buttons can have controls assigned to them.{{until|java 26.3}} | Only the first eight mouse buttons can have controls assigned to them.{{until|java 26.3}} | ||
On Linux, mouse buttons up to 48{{upcoming|java 26.3}} can be specified (evdev key press events 272 to 319) - it is not known if any supported operating systems support a 49th or higher mouse button as input. The maximum mouse button on macOS is 32, and the maximum mouse button on Windows is 5. | On Linux, mouse buttons up to 48{{upcoming|java 26.3}} can be specified (evdev key press events 272 to 319) - it is not known if any supported operating systems support a 49th or higher mouse button as input. The maximum mouse button on macOS is 32,<ref>according to what karabiner-elements allows: https://discord.com/channels/647810384031645728/648555495564509184/1528136787434930358</ref> and the maximum mouse button on Windows is 5. | ||
For the first three mouse buttons, the translation keys match the key IDs; all other buttons follow a generic template. | For the first three mouse buttons, the translation keys match the key IDs; all other buttons follow a generic template. | ||
{| class="wikitable" data-description="Mouse button IDs" style="margin-left:auto; margin-right:auto" | {| class="wikitable" data-description="Mouse button IDs" style="margin-left:auto; margin-right:auto; text-align:center" | ||
! rowspan="2" | ID | ! rowspan="2" | ID | ||
! rowspan="2" | Displayed name | ! rowspan="2" | Displayed name | ||
| Line 782: | Line 1,279: | ||
|- | |- | ||
! {{code|key.mouse.left}}{{note|{{code|key.mouse.1}} is automatically converted to this{{info needed|I assume upon reading options.txt when the game is started? or at another time?}}}} | ! {{code|key.mouse.left}}{{note|{{code|key.mouse.1}} is automatically converted to this{{info needed|I assume upon reading options.txt when the game is started? or at another time?}}}} | ||
| | | {{btn|Left Button}} | ||
| | | {{mouse|left}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 789: | Line 1,286: | ||
|- | |- | ||
! {{code|key.mouse.right}}{{note|{{code|key.mouse.3}} is automatically converted to this}} | ! {{code|key.mouse.right}}{{note|{{code|key.mouse.3}} is automatically converted to this}} | ||
| | | {{btn|Right Button}} | ||
| | | {{mouse|right}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 796: | Line 1,293: | ||
|- | |- | ||
! {{code|key.mouse.middle}}{{note|{{code|key.mouse.2}} is automatically converted to this}} | ! {{code|key.mouse.middle}}{{note|{{code|key.mouse.2}} is automatically converted to this}} | ||
| | | {{btn|Middle Button}} | ||
| | | {{mouse|middle}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 803: | Line 1,300: | ||
|- | |- | ||
! {{code|key.mouse.4}} | ! {{code|key.mouse.4}} | ||
| | | {{btn|Button 4}} | ||
| | | {{mouse|fourth}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 810: | Line 1,307: | ||
|- | |- | ||
! {{code|key.mouse.5}} | ! {{code|key.mouse.5}} | ||
| | | {{btn|Button 5}} | ||
| | | {{mouse|fifth}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 817: | Line 1,314: | ||
|- | |- | ||
! {{code|key.mouse.6}} | ! {{code|key.mouse.6}} | ||
| | | {{btn|Button 6}} | ||
| | | {{mouse|sixth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 824: | Line 1,321: | ||
|- | |- | ||
! {{code|key.mouse.7}} | ! {{code|key.mouse.7}} | ||
| | | {{btn|Button 7}} | ||
| | | {{mouse|seventh}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 831: | Line 1,328: | ||
|- | |- | ||
! {{code|key.mouse.8}} | ! {{code|key.mouse.8}} | ||
| | | {{btn|Button 8}} | ||
| | | {{mouse|eighth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}} | ! {{tc|Yes}} | ||
| Line 838: | Line 1,335: | ||
|- | |- | ||
! {{code|key.mouse.9}} | ! {{code|key.mouse.9}} | ||
| | | {{btn|Button 9}} | ||
| | | {{mouse|ninth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 845: | Line 1,342: | ||
|- | |- | ||
! {{code|key.mouse.10}} | ! {{code|key.mouse.10}} | ||
| | | {{btn|Button 10}} | ||
| | | {{mouse|tenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 852: | Line 1,349: | ||
|- | |- | ||
! {{code|key.mouse.11}} | ! {{code|key.mouse.11}} | ||
| | | {{btn|Button 11}} | ||
| | | {{mouse|eleventh}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 859: | Line 1,356: | ||
|- | |- | ||
! {{code|key.mouse.12}} | ! {{code|key.mouse.12}} | ||
| | | {{btn|Button 12}} | ||
| | | {{mouse|twelfth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 866: | Line 1,363: | ||
|- | |- | ||
! {{code|key.mouse.13}} | ! {{code|key.mouse.13}} | ||
| | | {{btn|Button 13}} | ||
| | | {{mouse|thirteenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 873: | Line 1,370: | ||
|- | |- | ||
! {{code|key.mouse.14}} | ! {{code|key.mouse.14}} | ||
| | | {{btn|Button 14}} | ||
| | | {{mouse|fourteenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 880: | Line 1,377: | ||
|- | |- | ||
! {{code|key.mouse.15}} | ! {{code|key.mouse.15}} | ||
| | | {{btn|Button 15}} | ||
| | | {{mouse|fifteenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 887: | Line 1,384: | ||
|- | |- | ||
! {{code|key.mouse.16}} | ! {{code|key.mouse.16}} | ||
| | | {{btn|Button 16}} | ||
| | | {{mouse|sixteenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 894: | Line 1,391: | ||
|- | |- | ||
! {{code|key.mouse.17}} | ! {{code|key.mouse.17}} | ||
| | | {{btn|Button 17}} | ||
| | | {{mouse|seventeenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 901: | Line 1,398: | ||
|- | |- | ||
! {{code|key.mouse.18}} | ! {{code|key.mouse.18}} | ||
| | | {{btn|Button 18}} | ||
| | | {{mouse|eighteenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 908: | Line 1,405: | ||
|- | |- | ||
! {{code|key.mouse.19}} | ! {{code|key.mouse.19}} | ||
| | | {{btn|Button 19}} | ||
| | | {{mouse|nineteenth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 915: | Line 1,412: | ||
|- | |- | ||
! {{code|key.mouse.20}} | ! {{code|key.mouse.20}} | ||
| | | {{btn|Button 20}} | ||
| | | {{mouse|twentieth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 922: | Line 1,419: | ||
|- | |- | ||
! {{code|key.mouse.21}} | ! {{code|key.mouse.21}} | ||
| | | {{btn|Button 21}} | ||
| | | {{mouse|twenty-first}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 929: | Line 1,426: | ||
|- | |- | ||
! {{code|key.mouse.22}} | ! {{code|key.mouse.22}} | ||
| | | {{btn|Button 22}} | ||
| | | {{mouse|twenty-second}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 936: | Line 1,433: | ||
|- | |- | ||
! {{code|key.mouse.23}} | ! {{code|key.mouse.23}} | ||
| | | {{btn|Button 23}} | ||
| | | {{mouse|twenty-third}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 943: | Line 1,440: | ||
|- | |- | ||
! {{code|key.mouse.24}} | ! {{code|key.mouse.24}} | ||
| | | {{btn|Button 24}} | ||
| | | {{mouse|twenty-fourth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 950: | Line 1,447: | ||
|- | |- | ||
! {{code|key.mouse.25}} | ! {{code|key.mouse.25}} | ||
| | | {{btn|Button 25}} | ||
| | | {{mouse|twenty-fifth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 957: | Line 1,454: | ||
|- | |- | ||
! {{code|key.mouse.26}} | ! {{code|key.mouse.26}} | ||
| | | {{btn|Button 26}} | ||
| | | {{mouse|twenty-sixth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 964: | Line 1,461: | ||
|- | |- | ||
! {{code|key.mouse.27}} | ! {{code|key.mouse.27}} | ||
| | | {{btn|Button 27}} | ||
| | | {{mouse|twenty-seventh}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 971: | Line 1,468: | ||
|- | |- | ||
! {{code|key.mouse.28}} | ! {{code|key.mouse.28}} | ||
| | | {{btn|Button 28}} | ||
| | | {{mouse|twenty-eighth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 978: | Line 1,475: | ||
|- | |- | ||
! {{code|key.mouse.29}} | ! {{code|key.mouse.29}} | ||
| | | {{btn|Button 29}} | ||
| | | {{mouse|twenty-ninth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 985: | Line 1,482: | ||
|- | |- | ||
! {{code|key.mouse.30}} | ! {{code|key.mouse.30}} | ||
| | | {{btn|Button 30}} | ||
| | | {{mouse|thirtieth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 992: | Line 1,489: | ||
|- | |- | ||
! {{code|key.mouse.31}} | ! {{code|key.mouse.31}} | ||
| | | {{btn|Button 31}} | ||
| | | {{mouse|thirty-first}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 999: | Line 1,496: | ||
|- | |- | ||
! {{code|key.mouse.32}} | ! {{code|key.mouse.32}} | ||
| | | {{btn|Button 32}} | ||
| | | {{mouse|thirty-second}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|Yes}}{{upcoming|java 26.3}} | ! {{tc|Yes}}{{upcoming|java 26.3}} | ||
| Line 1,006: | Line 1,503: | ||
|- | |- | ||
! {{code|key.mouse.33}} | ! {{code|key.mouse.33}} | ||
| | | {{btn|Button 33}} | ||
| | | {{mouse|thirty-third}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,013: | Line 1,510: | ||
|- | |- | ||
! {{code|key.mouse.34}} | ! {{code|key.mouse.34}} | ||
| | | {{btn|Button 34}} | ||
| | | {{mouse|thirty-fourth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,020: | Line 1,517: | ||
|- | |- | ||
! {{code|key.mouse.35}} | ! {{code|key.mouse.35}} | ||
| | | {{btn|Button 35}} | ||
| | | {{mouse|thirty-fifth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,027: | Line 1,524: | ||
|- | |- | ||
! {{code|key.mouse.36}} | ! {{code|key.mouse.36}} | ||
| | | {{btn|Button 36}} | ||
| | | {{mouse|thirty-sixth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,034: | Line 1,531: | ||
|- | |- | ||
! {{code|key.mouse.37}} | ! {{code|key.mouse.37}} | ||
| | | {{btn|Button 37}} | ||
| | | {{mouse|thirty-seventh}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,041: | Line 1,538: | ||
|- | |- | ||
! {{code|key.mouse.38}} | ! {{code|key.mouse.38}} | ||
| | | {{btn|Button 38}} | ||
| | | {{mouse|thirty-eighth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,048: | Line 1,545: | ||
|- | |- | ||
! {{code|key.mouse.39}} | ! {{code|key.mouse.39}} | ||
| | | {{btn|Button 39}} | ||
| | | {{mouse|thirty-ninth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,055: | Line 1,552: | ||
|- | |- | ||
! {{code|key.mouse.40}} | ! {{code|key.mouse.40}} | ||
| | | {{btn|Button 40}} | ||
| | | {{mouse|fortieth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,062: | Line 1,559: | ||
|- | |- | ||
! {{code|key.mouse.41}} | ! {{code|key.mouse.41}} | ||
| | | {{btn|Button 41}} | ||
| | | {{mouse|forty-first}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,069: | Line 1,566: | ||
|- | |- | ||
! {{code|key.mouse.42}} | ! {{code|key.mouse.42}} | ||
| | | {{btn|Button 42}} | ||
| | | {{mouse|forty-second}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,076: | Line 1,573: | ||
|- | |- | ||
! {{code|key.mouse.43}} | ! {{code|key.mouse.43}} | ||
| | | {{btn|Button 43}} | ||
| | | {{mouse|forty-third}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,083: | Line 1,580: | ||
|- | |- | ||
! {{code|key.mouse.44}} | ! {{code|key.mouse.44}} | ||
| | | {{btn|Button 44}} | ||
| | | {{mouse|forty-fourth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,090: | Line 1,587: | ||
|- | |- | ||
! {{code|key.mouse.45}} | ! {{code|key.mouse.45}} | ||
| | | {{btn|Button 45}} | ||
| | | {{mouse|forty-fifth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,097: | Line 1,594: | ||
|- | |- | ||
! {{code|key.mouse.46}} | ! {{code|key.mouse.46}} | ||
| | | {{btn|Button 46}} | ||
| | | {{mouse|forty-sixth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,104: | Line 1,601: | ||
|- | |- | ||
! {{code|key.mouse.47}} | ! {{code|key.mouse.47}} | ||
| | | {{btn|Button 47}} | ||
| | | {{mouse|forty-seventh}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,111: | Line 1,608: | ||
|- | |- | ||
! {{code|key.mouse.48}} | ! {{code|key.mouse.48}} | ||
| | | {{btn|Button 48}} | ||
| | | {{mouse|forty-eighth}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
! {{tc|No}} | ! {{tc|No}} | ||
| Line 1,120: | Line 1,617: | ||
== ''Bedrock Edition'' == | == ''Bedrock Edition'' == | ||
=== Keyboard codes === | === Keyboard codes === | ||
In {{BE}}, keys are stored as the | {{info needed section|In the lang files there are translation strings for each translatable keycode that is a shortened version (e.g. PgUp instead of PAGE UP). Figure out if these ever appear in the game and, if they do, add a column for them.}} | ||
{| class="wikitable" data-description="Keyboard button IDs" style="margin-left:auto; margin-right:auto" | {{cleanup|section=1|for differing operating systems (e.g. things involving the command key), implement something similar to what is seen with the Java Edition keyboard table above: make the key ID span multiple rows (rowspan 2), and have sub-rows per operating system}} | ||
In {{BE}}, keys are stored as the decimal representation of their [https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes virtual key code]. | |||
Some numbers are skipped because they are reserved or not assigned. By modifying options.txt, you can force the game to show these numbers (prefixed with "Button"), but they are unobtainable by pressing a key. | |||
The virtual key code specification also provides numbers for buttons on the mouse. However, mouse buttons are not stored as those numbers. | |||
{| class="wikitable" data-description="Keyboard button IDs" style="margin-left:auto; margin-right:auto; text-align:center" | |||
! ID | ! ID | ||
! Displayed name | ! Displayed name | ||
! | ! Physical key or button | ||
! Translation key | ! Translation key | ||
|- | |- | ||
! {{code|0}} | ! {{code|0}} | ||
| | | {{btn|Unassigned|be=1}} | ||
| Not Bound | | Not Bound | ||
| {{info needed}} | | {{info needed}} | ||
|- | |- | ||
! {{code|3}} | ! {{code|3}} | ||
| | | {{btn|Button3|be=1}}{{note|Displayed the same as the middle mouse button.}} | ||
| Break | | {{key|Break}} | ||
| | | | ||
|- | |- | ||
! {{code|8}} | ! {{code|8}} | ||
| | | {{btn|BACK|be=1}} | ||
| Backspace | | {{key|Backspace}} | ||
| {{code|keyboard.keyName.backspace}} | |||
|- | |- | ||
! {{code|9}} | ! {{code|9}} | ||
| | | {{btn|TAB|be=1}} | ||
| Tab | | {{key|Tab}} | ||
| {{code|keyboard.keyName.tab}} | |||
|- | |- | ||
! {{code|12}} | ! {{code|12}} | ||
| | | {{btn|Button12|be=1}} | ||
| Clear | | {{key|Clear}} | ||
| | | | ||
|- | |- | ||
! {{code|13}} | ! {{code|13}} | ||
| | | {{btn|RETURN|be=1}} | ||
| | | {{key|Return}} | ||
| {{code|keyboard.keyName.return}} | |||
|- | |- | ||
! {{code|16}} | ! {{code|16}} | ||
| | | {{btn|SHIFT|be=1}} | ||
| Shift | | {{key|Left Shift}} / {{key|Right Shift}} | ||
| {{code|keyboard.keyName.lshift}} | |||
|- | |- | ||
! {{code|17}} | ! {{code|17}} | ||
| | | {{btn|CONTROL|be=1}} | ||
| Control | | {{key|Left Control}} / {{key|Right Control}} | ||
| {{code|keyboard.keyName.control}} | |||
|- | |- | ||
! {{code|18}} | ! {{code|18}} | ||
| | | {{btn|ALTERNATIVE|be=1}} | ||
| Alt | | {{key|Left Alt}} / {{key|Right Alt}} | ||
| {{code|keyboard.keyName.alt}} | |||
|- | |- | ||
! {{code|19}} | ! {{code|19}} | ||
| | | {{btn|PAUSE|be=1}} | ||
| Pause | | {{key|Pause}} | ||
| {{code|keyboard.keyName.pause}} | |||
|- | |- | ||
! {{code|20}} | ! {{code|20}} | ||
| | | {{btn|CAPITAL|be=1}} | ||
| Caps Lock | | {{key|Caps Lock}} | ||
| {{code|keyboard.keyName.capsLock}} | |||
|- | |- | ||
! {{code|21}} | ! {{code|21}} | ||
| | | {{btn|Button21|be=1}} | ||
| | | {{key|Kana}}{{verify}} / {{key|Hangeul}} | ||
| | | | ||
|- | |- | ||
! {{code|22}} | ! {{code|22}} | ||
| | | {{btn|Button22|be=1}} | ||
| IME | | {{key|IME on}} | ||
| | | | ||
|- | |- | ||
! {{code|23}} | ! {{code|23}} | ||
| | | {{btn|Button23|be=1}} | ||
| IME | | {{key|IME Junja}} | ||
| | | | ||
|- | |- | ||
! {{code|24}} | ! {{code|24}} | ||
| | | {{btn|Button24|be=1}} | ||
| IME | | {{key|IME final mode}} | ||
| | | | ||
|- | |- | ||
! {{code|25}} | ! {{code|25}} | ||
| | | {{btn|Button25|be=1}} | ||
| | | {{key|Hanja}} / {{key|Eisu}}{{verify}} | ||
| | | | ||
|- | |- | ||
! {{code|26}} | ! {{code|26}} | ||
| | | {{btn|Button26|be=1}} | ||
| IME | | {{key|IME off}} | ||
| | | | ||
|- | |- | ||
! {{code|27}} | ! {{code|27}} | ||
| | | {{btn|ESCAPE|be=1}} | ||
| | | Cannot be assigned{{note|Trying to bind anything to the Escape key causes it to become Unassigned instead. This can only be set by modifying options.txt.}} | ||
| {{code|keyboard.keyName.escape}} | |||
|- | |- | ||
! {{code|28}} | ! {{code|28}} | ||
| | | {{btn|Button28|be=1}} | ||
| | | {{key|Henkan}} | ||
| | | | ||
|- | |- | ||
! {{code|29}} | ! {{code|29}} | ||
| | | {{btn|Button29|be=1}} | ||
| | | {{key|Muhenkan}} | ||
| | | | ||
|- | |- | ||
! {{code|30}} | ! {{code|30}} | ||
| | | {{btn|Button30|be=1}} | ||
| IME accept | | {{key|IME accept}} | ||
| | | | ||
|- | |- | ||
! {{code|31}} | ! {{code|31}} | ||
| | | {{btn|Button31|be=1}} | ||
| IME mode change request | | {{key|IME mode change request}} | ||
| | | | ||
|- | |- | ||
! {{code|32}} | ! {{code|32}} | ||
| | | {{btn|SPACE|be=1}} | ||
| Space | | {{key|Space}} | ||
| {{code|keyboard.keyName.space}} | |||
|- | |- | ||
! {{code|33}} | ! {{code|33}} | ||
| | | {{btn|PAGE UP|be=1}} | ||
| Page Up | | {{key|Page Up}} | ||
| {{code|keyboard.keyName.pgUp}} | |||
|- | |- | ||
! {{code|34}} | ! {{code|34}} | ||
| | | {{btn|PAGE DOWN|be=1}} | ||
| Page Down | | {{key|Page Down}} | ||
| {{code|keyboard.keyName.pgDown}} | |||
|- | |- | ||
! {{code|35}} | ! {{code|35}} | ||
| | | {{btn|END|be=1}} | ||
| End | | {{key|End}} | ||
| {{code|keyboard.keyName.end}} | |||
|- | |- | ||
! {{code|36}} | ! {{code|36}} | ||
| | | {{btn|HOME|be=1}} | ||
| Home | | {{key|Home}} | ||
| {{code|keyboard.keyName.home}} | |||
|- | |- | ||
! {{code|37}} | ! {{code|37}} | ||
| | | {{btn|LEFT|be=1}} | ||
| Left | | {{key|Left}} | ||
| {{code|keyboard.keyName.left}} | |||
|- | |- | ||
! {{code|38}} | ! {{code|38}} | ||
| | | {{btn|UP|be=1}} | ||
| Up | | {{key|Up}} | ||
| {{code|keyboard.keyName.up}} | |||
|- | |- | ||
! {{code|39}} | ! {{code|39}} | ||
| | | {{btn|RIGHT|be=1}} | ||
| Right | | {{key|Right}} | ||
| {{code|keyboard.keyName.right}} | |||
|- | |- | ||
! {{code|40}} | ! {{code|40}} | ||
| | | {{btn|DOWN|be=1}} | ||
| Down | | {{key|Down}} | ||
| {{code|keyboard.keyName.down}} | |||
|- | |- | ||
! {{code|41}} | ! {{code|41}} | ||
| | | {{btn|Button41|be=1}} | ||
| Select | | {{key|Select}} | ||
| | | | ||
|- | |- | ||
! {{code|42}} | ! {{code|42}} | ||
| | | {{btn|Button42|be=1}} | ||
| Print | | {{key|Print}} | ||
| | | | ||
|- | |- | ||
! {{code|43}} | ! {{code|43}} | ||
| | | {{btn|Button43|be=1}} | ||
| Execute | | {{key|Execute}} | ||
| | | | ||
|- | |- | ||
! {{code|44}} | ! {{code|44}} | ||
| | | {{btn|Button44|be=1}} | ||
| Print Screen | | {{key|Print Screen}} | ||
| | | | ||
|- | |- | ||
! {{code|45}} | ! {{code|45}} | ||
| | | {{btn|INSERT|be=1}} | ||
| Insert | | {{key|Insert}} | ||
| {{code|keyboard.keyName.insert}} | |||
|- | |- | ||
! {{code|46}} | ! {{code|46}} | ||
| | | {{btn|DELETE|be=1}} | ||
| Delete | | {{key|Delete}} | ||
| {{code|keyboard.keyName.delete}} | |||
|- | |- | ||
! {{code|47}} | ! {{code|47}} | ||
| | | {{btn|Button47|be=1}} | ||
| Help | | {{key|Help}} | ||
| | | | ||
|- | |- | ||
! {{code|48}} | ! {{code|48}} | ||
| | | {{btn|0|be=1}} | ||
| 0 | | {{key|0}} | ||
| {{code|keyboard.keyName.0}} | |||
|- | |- | ||
! {{code|49}} | ! {{code|49}} | ||
| | | {{btn|1|be=1}} | ||
| 1 | | {{key|1}} | ||
| {{code|keyboard.keyName.1}} | |||
|- | |- | ||
! {{code|50}} | ! {{code|50}} | ||
| | | {{btn|2|be=1}} | ||
| 2 | | {{key|2}} | ||
| {{code|keyboard.keyName.2}} | |||
|- | |- | ||
! {{code|51}} | ! {{code|51}} | ||
| | | {{btn|3|be=1}} | ||
| 3 | | {{key|3}} | ||
| {{code|keyboard.keyName.3}} | |||
|- | |- | ||
! {{code|52}} | ! {{code|52}} | ||
| | | {{btn|4|be=1}} | ||
| 4 | | {{key|4}} | ||
| {{code|keyboard.keyName.4}} | |||
|- | |- | ||
! {{code|53}} | ! {{code|53}} | ||
| | | {{btn|5|be=1}} | ||
| 5 | | {{key|5}} | ||
| {{code|keyboard.keyName.5}} | |||
|- | |- | ||
! {{code|54}} | ! {{code|54}} | ||
| | | {{btn|6|be=1}} | ||
| 6 | | {{key|6}} | ||
| {{code|keyboard.keyName.6}} | |||
|- | |- | ||
! {{code|55}} | ! {{code|55}} | ||
| | | {{btn|7|be=1}} | ||
| 7 | | {{key|7}} | ||
| {{code|keyboard.keyName.7}} | |||
|- | |- | ||
! {{code|56}} | ! {{code|56}} | ||
| | | {{btn|8|be=1}} | ||
| 8 | | {{key|8}} | ||
| {{code|keyboard.keyName.8}} | |||
|- | |- | ||
! {{code|57}} | ! {{code|57}} | ||
| | | {{btn|9|be=1}} | ||
| 9 | | {{key|9}} | ||
| {{code|keyboard.keyName.9}} | |||
|- | |- | ||
! {{code|65}} | ! {{code|65}} | ||
| | | {{btn|A|be=1}} | ||
| A | | {{key|A}} | ||
| {{code|keyboard.keyName.a}} | |||
|- | |- | ||
! {{code|66}} | ! {{code|66}} | ||
| | | {{btn|B|be=1}} | ||
| B | | {{key|B}} | ||
| {{code|keyboard.keyName.b}} | |||
|- | |- | ||
! {{code|67}} | ! {{code|67}} | ||
| | | {{btn|C|be=1}} | ||
| C | | {{key|C}} | ||
| {{code|keyboard.keyName.c}} | |||
|- | |- | ||
! {{code|68}} | ! {{code|68}} | ||
| | | {{btn|D|be=1}} | ||
| D | | {{key|D}} | ||
| {{code|keyboard.keyName.d}} | |||
|- | |- | ||
! {{code|69}} | ! {{code|69}} | ||
| | | {{btn|E|be=1}} | ||
| E | | {{key|E}} | ||
| {{code|keyboard.keyName.e}} | |||
|- | |- | ||
! {{code|70}} | ! {{code|70}} | ||
| | | {{btn|F|be=1}} | ||
| F | | {{key|F}} | ||
| {{code|keyboard.keyName.f}} | |||
|- | |- | ||
! {{code|71}} | ! {{code|71}} | ||
| | | {{btn|G|be=1}} | ||
| G | | {{key|G}} | ||
| {{code|keyboard.keyName.g}} | |||
|- | |- | ||
! {{code|72}} | ! {{code|72}} | ||
| | | {{btn|H|be=1}} | ||
| H | | {{key|H}} | ||
| {{code|keyboard.keyName.h}} | |||
|- | |- | ||
! {{code|73}} | ! {{code|73}} | ||
| | | {{btn|I|be=1}} | ||
| I | | {{key|I}} | ||
| {{code|keyboard.keyName.i}} | |||
|- | |- | ||
! {{code|74}} | ! {{code|74}} | ||
| | | {{btn|J|be=1}} | ||
| J | | {{key|J}} | ||
| {{code|keyboard.keyName.j}} | |||
|- | |- | ||
! {{code|75}} | ! {{code|75}} | ||
| | | {{btn|K|be=1}} | ||
| K | | {{key|K}} | ||
| {{code|keyboard.keyName.k}} | |||
|- | |- | ||
! {{code|76}} | ! {{code|76}} | ||
| | | {{btn|L|be=1}} | ||
| L | | {{key|L}} | ||
| {{code|keyboard.keyName.l}} | |||
|- | |- | ||
! {{code|77}} | ! {{code|77}} | ||
| | | {{btn|M|be=1}} | ||
| M | | {{key|M}} | ||
| {{code|keyboard.keyName.m}} | |||
|- | |- | ||
! {{code|78}} | ! {{code|78}} | ||
| | | {{btn|N|be=1}} | ||
| N | | {{key|N}} | ||
| {{code|keyboard.keyName.n}} | |||
|- | |- | ||
! {{code|79}} | ! {{code|79}} | ||
| | | {{btn|O|be=1}} | ||
| O | | {{key|O}} | ||
| {{code|keyboard.keyName.o}} | |||
|- | |- | ||
! {{code|80}} | ! {{code|80}} | ||
| | | {{btn|P|be=1}} | ||
| P | | {{key|P}} | ||
| {{code|keyboard.keyName.p}} | |||
|- | |- | ||
! {{code|81}} | ! {{code|81}} | ||
| | | {{btn|Q|be=1}} | ||
| Q | | {{key|Q}} | ||
| {{code|keyboard.keyName.q}} | |||
|- | |- | ||
! {{code|82}} | ! {{code|82}} | ||
| | | {{btn|R|be=1}} | ||
| R | | {{key|R}} | ||
| {{code|keyboard.keyName.r}} | |||
|- | |- | ||
! {{code|83}} | ! {{code|83}} | ||
| | | {{btn|S|be=1}} | ||
| S | | {{key|S}} | ||
| {{code|keyboard.keyName.s}} | |||
|- | |- | ||
! {{code|84}} | ! {{code|84}} | ||
| | | {{btn|T|be=1}} | ||
| T | | {{key|T}} | ||
| {{code|keyboard.keyName.t}} | |||
|- | |- | ||
! {{code|85}} | ! {{code|85}} | ||
| | | {{btn|U|be=1}} | ||
| U | | {{key|U}} | ||
| {{code|keyboard.keyName.u}} | |||
|- | |- | ||
! {{code|86}} | ! {{code|86}} | ||
| | | {{btn|V|be=1}} | ||
| V | | {{key|V}} | ||
| {{code|keyboard.keyName.v}} | |||
|- | |- | ||
! {{code|87}} | ! {{code|87}} | ||
| | | {{btn|W|be=1}} | ||
| W | | {{key|W}} | ||
| {{code|keyboard.keyName.w}} | |||
|- | |- | ||
! {{code|88}} | ! {{code|88}} | ||
| | | {{btn|X|be=1}} | ||
| X | | {{key|X}} | ||
| {{code|keyboard.keyName.x}} | |||
|- | |- | ||
! {{code|89}} | ! {{code|89}} | ||
| | | {{btn|Y|be=1}} | ||
| Y | | {{key|Y}} | ||
| {{code|keyboard.keyName.y}} | |||
|- | |- | ||
! {{code|90}} | ! {{code|90}} | ||
| | | {{btn|Z|be=1}} | ||
| Z | | {{key|Z}} | ||
| {{code|keyboard.keyName.z}} | |||
|- | |- | ||
! {{code|91}} | ! {{code|91}} | ||
| | | {{btn|Button91|be=1}} | ||
| Left Windows | | {{key|Left Windows}} / {{key|Left Command}} / {{key|Chromebook Search}} | ||
| | | | ||
|- | |- | ||
! {{code|92}} | ! {{code|92}} | ||
| | | {{btn|Button92|be=1}} | ||
| Right Windows | | {{key|Right Windows}} / {{key|Right Command}} | ||
| | | | ||
|- | |- | ||
! {{code|93}} | ! {{code|93}} | ||
| | | {{btn|Button93|be=1}} | ||
| Menu | | {{key|Menu}} | ||
| | | | ||
|- | |- | ||
! {{code|95}} | ! {{code|95}} | ||
| | | {{btn|Button95|be=1}} | ||
| Sleep | | {{key|Sleep}} | ||
| | | | ||
|- | |- | ||
! {{code|96}} | ! {{code|96}} | ||
| | | {{btn|NUMPAD0|be=1}} | ||
| Numpad 0 | | {{key|Numpad 0}} | ||
| {{code|keyboard.keyName.numpad0}} | |||
|- | |- | ||
! {{code|97}} | ! {{code|97}} | ||
| | | {{btn|NUMPAD1|be=1}} | ||
| Numpad 1 | | {{key|Numpad 1}} | ||
| {{code|keyboard.keyName.numpad1}} | |||
|- | |- | ||
! {{code|98}} | ! {{code|98}} | ||
| | | {{btn|NUMPAD2|be=1}} | ||
| Numpad 2 | | {{key|Numpad 2}} | ||
| {{code|keyboard.keyName.numpad2}} | |||
|- | |- | ||
! {{code|99}} | ! {{code|99}} | ||
| | | {{btn|NUMPAD3|be=1}} | ||
| Numpad 3 | | {{key|Numpad 3}} | ||
| {{code|keyboard.keyName.numpad3}} | |||
|- | |- | ||
! {{code|100}} | ! {{code|100}} | ||
| | | {{btn|NUMPAD4|be=1}} | ||
| Numpad 4 | | {{key|Numpad 4}} | ||
| {{code|keyboard.keyName.numpad4}} | |||
|- | |- | ||
! {{code|101}} | ! {{code|101}} | ||
| | | {{btn|NUMPAD5|be=1}} | ||
| Numpad 5 | | {{key|Numpad 5}} | ||
| {{code|keyboard.keyName.numpad5}} | |||
|- | |- | ||
! {{code|102}} | ! {{code|102}} | ||
| | | {{btn|NUMPAD6|be=1}} | ||
| Numpad 6 | | {{key|Numpad 6}} | ||
| {{code|keyboard.keyName.numpad6}} | |||
|- | |- | ||
! {{code|103}} | ! {{code|103}} | ||
| | | {{btn|NUMPAD7|be=1}} | ||
| Numpad 7 | | {{key|Numpad 7}} | ||
| {{code|keyboard.keyName.numpad7}} | |||
|- | |- | ||
! {{code|104}} | ! {{code|104}} | ||
| | | {{btn|NUMPAD8|be=1}} | ||
| Numpad 8 | | {{key|Numpad 8}} | ||
| {{code|keyboard.keyName.numpad8}} | |||
|- | |- | ||
! {{code|105}} | ! {{code|105}} | ||
| | | {{btn|NUMPAD9|be=1}} | ||
| Numpad 9 | | {{key|Numpad 9}} | ||
| {{code|keyboard.keyName.numpad9}} | |||
|- | |- | ||
! {{code|106}} | ! {{code|106}} | ||
| | | {{btn|MULTIPLY|be=1}} | ||
| | | {{key|Numpad *}} | ||
| {{code|keyboard.keyName.multiply}} | |||
|- | |- | ||
! {{code|107}} | ! {{code|107}} | ||
| | | {{btn|ADD|be=1}} | ||
| | | {{key|Numpad <nowiki>+</nowiki>}} | ||
| {{code|keyboard.keyName.add}} | |||
|- | |- | ||
! {{code|108}} | ! {{code|108}} | ||
| | | {{btn|Button108|be=1}} | ||
| Separator | | {{key|Separator}} | ||
| | | | ||
|- | |- | ||
! {{code|109}} | ! {{code|109}} | ||
| | | {{btn|SUBTRACT|be=1}} | ||
| | | {{key|Numpad -}} | ||
| | | {{code|keyboard.keyName.subtract}} | ||
|- | |- | ||
! {{code|110}} | ! {{code|110}} | ||
| | | {{btn|DECIMAL|be=1}} | ||
| | | {{key|Numpad .}} | ||
| {{code|keyboard.keyName.decimal}} | |||
|- | |- | ||
! {{code|111}} | ! {{code|111}} | ||
| | | {{btn|DIVIDE|be=1}} | ||
| | | {{key|Numpad /}} | ||
| {{code|keyboard.keyName.divide}} | |||
|- | |- | ||
! {{code|112}} | ! {{code|112}} | ||
| | | {{btn|F1|be=1}} | ||
| F1 | | {{key|F1}} | ||
| {{code|keyboard.keyName.f1}} | |||
|- | |- | ||
! {{code|113}} | ! {{code|113}} | ||
| | | {{btn|F2|be=1}} | ||
| F2 | | {{key|F2}} | ||
| {{code|keyboard.keyName.f2}} | |||
|- | |- | ||
! {{code|114}} | ! {{code|114}} | ||
| | | {{btn|F3|be=1}} | ||
| F3 | | {{key|F3}} | ||
| {{code|keyboard.keyName.f3}} | |||
|- | |- | ||
! {{code|115}} | ! {{code|115}} | ||
| | | {{btn|F4|be=1}} | ||
| F4 | | {{key|F4}} | ||
| {{code|keyboard.keyName.f4}} | |||
|- | |- | ||
! {{code|116}} | ! {{code|116}} | ||
| | | {{btn|F5|be=1}} | ||
| F5 | | {{key|F5}} | ||
| {{code|keyboard.keyName.f5}} | |||
|- | |- | ||
! {{code|117}} | ! {{code|117}} | ||
| | | {{btn|F6|be=1}} | ||
| F6 | | {{key|F6}} | ||
| {{code|keyboard.keyName.f6}} | |||
|- | |- | ||
! {{code|118}} | ! {{code|118}} | ||
| | | {{btn|F7|be=1}} | ||
| F7 | | {{key|F7}} | ||
| {{code|keyboard.keyName.f7}} | |||
|- | |- | ||
! {{code|119}} | ! {{code|119}} | ||
| | | {{btn|F8|be=1}} | ||
| F8 | | {{key|F8}} | ||
| {{code|keyboard.keyName.f8}} | |||
|- | |- | ||
! {{code|120}} | ! {{code|120}} | ||
| | | {{btn|F9|be=1}} | ||
| F9 | | {{key|F9}} | ||
| {{code|keyboard.keyName.f9}} | |||
|- | |- | ||
! {{code|121}} | ! {{code|121}} | ||
| | | {{btn|F10|be=1}} | ||
| F10 | | {{key|F10}} | ||
| {{code|keyboard.keyName.f10}} | |||
|- | |- | ||
! {{code|122}} | ! {{code|122}} | ||
| | | {{btn|F11|be=1}} | ||
| F11 | | {{key|F11}} | ||
| {{code|keyboard.keyName.f11}} | |||
|- | |- | ||
! {{code|123}} | ! {{code|123}} | ||
| | | {{btn|F12|be=1}} | ||
| F12 | | {{key|F12}} | ||
| {{code|keyboard.keyName.f12}} | |||
|- | |- | ||
! {{code|124}} | ! {{code|124}} | ||
| | | {{btn|F13|be=1}} | ||
| F13 | | {{key|F13}} | ||
| {{code|keyboard.keyName.f13}} | |||
|- | |- | ||
! {{code|125}} | ! {{code|125}} | ||
| | | {{btn|Button125|be=1}} | ||
| F14 | | {{key|F14}} | ||
| | | | ||
|- | |- | ||
! {{code|126}} | ! {{code|126}} | ||
| | | {{btn|Button126|be=1}} | ||
| F15 | | {{key|F15}} | ||
| | | | ||
|- | |- | ||
! {{code|127}} | ! {{code|127}} | ||
| | | {{btn|Button127|be=1}} | ||
| F16 | | {{key|F16}} | ||
| | | | ||
|- | |- | ||
! {{code|128}} | ! {{code|128}} | ||
| | | {{btn|Button128|be=1}} | ||
| F17 | | {{key|F17}} | ||
| | | | ||
|- | |- | ||
! {{code|129}} | ! {{code|129}} | ||
| | | {{btn|Button129|be=1}} | ||
| F18 | | {{key|F18}} | ||
| | | | ||
|- | |- | ||
! {{code|130}} | ! {{code|130}} | ||
| | | {{btn|Button130|be=1}} | ||
| F19 | | {{key|F19}} | ||
| | | | ||
|- | |- | ||
! {{code|131}} | ! {{code|131}} | ||
| | | {{btn|Button131|be=1}} | ||
| F20 | | {{key|F20}} | ||
| | | | ||
|- | |- | ||
! {{code|132}} | ! {{code|132}} | ||
| | | {{btn|Button132|be=1}} | ||
| F21 | | {{key|F21}} | ||
| | | | ||
|- | |- | ||
! {{code|133}} | ! {{code|133}} | ||
| | | {{btn|Button133|be=1}} | ||
| F22 | | {{key|F22}} | ||
| | | | ||
|- | |- | ||
! {{code|134}} | ! {{code|134}} | ||
| | | {{btn|Button134|be=1}} | ||
| F23 | | {{key|F23}} | ||
| | | | ||
|- | |- | ||
! {{code|135}} | ! {{code|135}} | ||
| | | {{btn|Button135|be=1}} | ||
| F24 | | {{key|F24}} | ||
| | | | ||
|- | |- | ||
! {{code|144}} | ! {{code|144}} | ||
| | | {{btn|NUMLOCK|be=1}} | ||
| Num Lock | | {{key|Num Lock}} | ||
| {{code|keyboard.keyName.numLock}} | |||
|- | |- | ||
! {{code|145}} | ! {{code|145}} | ||
| | | {{btn|SCROLL|be=1}} | ||
| Scroll Lock | | {{key|Scroll Lock}} | ||
| {{code|keyboard.keyName.scroll}} | |||
|- | |- | ||
! {{code|146}} | ! {{code|146}} | ||
| | | {{btn|Button146|be=1}} | ||
| OEM-Specific{{note|name=oem-specific|The manufacturer of your keyboard can map a physical key to this key code.}} | | OEM-Specific{{note|name=oem-specific|The manufacturer of your keyboard can map a physical key to this key code.}} | ||
| | | | ||
|- | |- | ||
! {{code|147}} | ! {{code|147}} | ||
| | | {{btn|Button147|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|148}} | ! {{code|148}} | ||
| | | {{btn|Button148|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|149}} | ! {{code|149}} | ||
| | | {{btn|Button149|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|150}} | ! {{code|150}} | ||
| | | {{btn|Button150|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|166}} | ! {{code|166}} | ||
| | | {{btn|Button166|be=1}} | ||
| | | {{key|Application Back}} | ||
| | | | ||
|- | |- | ||
! {{code|167}} | ! {{code|167}} | ||
| | | {{btn|Button167|be=1}} | ||
| | | {{key|Application Forward}} | ||
| | | | ||
|- | |- | ||
! {{code|168}} | ! {{code|168}} | ||
| | | {{btn|Button168|be=1}} | ||
| | | {{key|Application Refresh}} | ||
| | | | ||
|- | |- | ||
! {{code|169}} | ! {{code|169}} | ||
| | | {{btn|Button169|be=1}} | ||
| | | {{key|Application Stop}} | ||
| | | | ||
|- | |- | ||
! {{code|170}} | ! {{code|170}} | ||
| | | {{btn|Button170|be=1}} | ||
| | | {{key|Application Search}} | ||
| | | | ||
|- | |- | ||
! {{code|171}} | ! {{code|171}} | ||
| | | {{btn|Button171|be=1}} | ||
| | | {{key|Application Bookmarks}} | ||
| | | | ||
|- | |- | ||
! {{code|172}} | ! {{code|172}} | ||
| | | {{btn|Button172|be=1}} | ||
| | | {{key|Application Home}} | ||
| | | | ||
|- | |- | ||
! {{code|173}} | ! {{code|173}} | ||
| | | {{btn|Button173|be=1}} | ||
| | | {{key|Mute}} | ||
| | | | ||
|- | |- | ||
! {{code|174}} | ! {{code|174}} | ||
| | | {{btn|Button174|be=1}} | ||
| Volume Down | | {{key|Volume Down}} | ||
| | | | ||
|- | |- | ||
! {{code|175}} | ! {{code|175}} | ||
| | | {{btn|Button175|be=1}} | ||
| Volume Up | | {{key|Volume Up}} | ||
| | | | ||
|- | |- | ||
! {{code|176}} | ! {{code|176}} | ||
| | | {{btn|Button176|be=1}} | ||
| Next Track | | {{key|Media Next Track}} | ||
| | | | ||
|- | |- | ||
! {{code|177}} | ! {{code|177}} | ||
| | | {{btn|Button177|be=1}} | ||
| Previous Track | | {{key|Media Previous Track}} | ||
| | | | ||
|- | |- | ||
! {{code|178}} | ! {{code|178}} | ||
| | | {{btn|Button178|be=1}} | ||
| Stop | | {{key|Media Stop}} | ||
| | | | ||
|- | |- | ||
! {{code|179}} | ! {{code|179}} | ||
| | | {{btn|Button179|be=1}} | ||
| Play | | {{key|Media Play Pause}} | ||
| | | | ||
|- | |- | ||
! {{code|180}} | ! {{code|180}} | ||
| | | {{btn|Button180|be=1}} | ||
| Start Mail | | {{key|Start Mail}} | ||
| | | | ||
|- | |- | ||
! {{code|181}} | ! {{code|181}} | ||
| | | {{btn|Button181|be=1}} | ||
| Select | | {{key|Media Select}} | ||
| | | | ||
|- | |- | ||
! {{code|182}} | ! {{code|182}} | ||
| | | {{btn|Button182|be=1}} | ||
| Start Application 1 | | {{key|Start Application 1}} | ||
| | | | ||
|- | |- | ||
! {{code|183}} | ! {{code|183}} | ||
| | | {{btn|Button183|be=1}} | ||
| Start Application 2 | | {{key|Start Application 2}} | ||
| | | | ||
|- | |- | ||
! {{code|186}} | ! {{code|186}} | ||
| | | {{btn|SEMICOLON|be=1}} | ||
| | | {{key|;}} | ||
| {{code|keyboard.keyName.semicolon}} | |||
|- | |- | ||
! {{code|187}} | ! {{code|187}} | ||
| | | {{btn|EQUALS|be=1}} | ||
| | | {{key|{{=}}}} | ||
| | | {{code|keyboard.keyName.equals}} | ||
|- | |- | ||
! {{code|188}} | ! {{code|188}} | ||
| | | {{btn|COMMA|be=1}} | ||
| | | {{key|,}} | ||
| {{code|keyboard.keyName.comma}} | |||
|- | |- | ||
! {{code|189}} | ! {{code|189}} | ||
| | | {{btn|MINUS|be=1}} | ||
| | | {{key|-}} | ||
| | | {{code|keyboard.keyName.minus}} | ||
|- | |- | ||
! {{code|190}} | ! {{code|190}} | ||
| | | {{btn|PERIOD|be=1}} | ||
| | | {{key|.}} | ||
| {{code|keyboard.keyName.period}} | |||
|- | |- | ||
! {{code|191}} | ! {{code|191}} | ||
| | | {{btn|SLASH|be=1}} | ||
| | | {{key|/}} | ||
| {{code|keyboard.keyName.slash}} | |||
|- | |- | ||
! {{code|192}} | ! {{code|192}} | ||
| | | {{btn|GRAVE|be=1}} | ||
| | | {{key|`}} | ||
| {{code|keyboard.keyName.grave}} | |||
|-- | |||
! {{code|194}} | |||
| {{btn|Button193|be=1}} | |||
| {{more info|It's the International 1 key, but I don't know what that is specifically.}} | |||
| | |||
|- | |||
! {{code|194}} | |||
| {{btn|Button194|be=1}} | |||
| {{key|Numpad ,}} | |||
| | |||
|- | |- | ||
! {{code|219}} | ! {{code|219}} | ||
| | | {{btn|LBRACKET|be=1}} | ||
| | | {{key|[}} | ||
| {{code|keyboard.keyName.lbracket}} | |||
|- | |- | ||
! {{code|220}} | ! {{code|220}} | ||
| | | {{btn|BACKSLASH|be=1}} | ||
| | | {{key|\}}{{info needed|ANSI (North America layout), ISO (Europe layout), or both?}} | ||
| {{code|keyboard.keyName.backslash}} | |||
|- | |- | ||
! {{code|221}} | ! {{code|221}} | ||
| | | {{btn|RBRACKET|be=1}} | ||
| | | {{key|]}} | ||
| {{code|keyboard.keyName.rbracket}} | |||
|- | |- | ||
! {{code|222}} | ! {{code|222}} | ||
| | | {{btn|APOSTROPHE|be=1}} | ||
| | | {{key|'}} | ||
| {{code|keyboard.keyName.apostrophe}} | |||
|- | |- | ||
! {{code|223}} | ! {{code|223}} | ||
| | | {{btn|Button223|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|225}} | ! {{code|225}} | ||
| | | {{btn|Button225|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|226}} | ! {{code|226}} | ||
| | | {{btn|Button226|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|227}} | ! {{code|227}} | ||
| | | {{btn|Button227|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|228}} | ! {{code|228}} | ||
| | | {{btn|Button228|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|229}} | ! {{code|229}} | ||
| | | {{btn|Button229|be=1}} | ||
| IME process | | {{key|IME process}} | ||
| | | | ||
|- | |- | ||
! {{code|230}} | ! {{code|230}} | ||
| | | {{btn|Button230|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|231}} | ! {{code|231}} | ||
| | | {{btn|Button231|be=1}} | ||
| {{info needed}} | | {{info needed}} | ||
| | | | ||
|- | |- | ||
! {{code|233}} | ! {{code|233}} | ||
| | | {{btn|Button233|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|234}} | ! {{code|234}} | ||
| | | {{btn|Button234|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|235}} | ! {{code|235}} | ||
| | | {{btn|Button235|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|236}} | ! {{code|236}} | ||
| | | {{btn|Button236|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|237}} | ! {{code|237}} | ||
| | | {{btn|Button237|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|238}} | ! {{code|238}} | ||
| | | {{btn|Button238|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|239}} | ! {{code|239}} | ||
| | | {{btn|Button239|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|240}} | ! {{code|240}} | ||
| | | {{btn|Button240|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|241}} | ! {{code|241}} | ||
| | | {{btn|Button241|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|242}} | ! {{code|242}} | ||
| | | {{btn|Button242|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|243}} | ! {{code|243}} | ||
| | | {{btn|Button243|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|244}} | ! {{code|244}} | ||
| | | {{btn|Button244|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|245}} | ! {{code|245}} | ||
| | | {{btn|Button245|be=1}} | ||
| OEM-Specific{{note|name=oem-specific}} | | OEM-Specific{{note|name=oem-specific}} | ||
| | | | ||
|- | |- | ||
! {{code|246}} | ! {{code|246}} | ||
| | | {{btn|Button246|be=1}} | ||
| Attn | | {{key|Attn}} | ||
| | | | ||
|- | |- | ||
! {{code|247}} | ! {{code|247}} | ||
| | | {{btn|Button247|be=1}} | ||
| CrSel | | {{key|CrSel}} | ||
| | | | ||
|- | |- | ||
! {{code|248}} | ! {{code|248}} | ||
| | | {{btn|Button248|be=1}} | ||
| ExSel | | {{key|ExSel}} | ||
| | | | ||
|- | |- | ||
! {{code|249}} | ! {{code|249}} | ||
| | | {{btn|Button249|be=1}} | ||
| Erase EOF | | {{key|Erase EOF}} | ||
| | | | ||
|- | |- | ||
! {{code|250}} | ! {{code|250}} | ||
| | | {{btn|Button250|be=1}} | ||
| Play | | {{key|Play}} | ||
| | | | ||
|- | |- | ||
! {{code|251}} | ! {{code|251}} | ||
| | | {{btn|Button251|be=1}} | ||
| Zoom | | {{key|Zoom}} | ||
| | | | ||
|- | |- | ||
! {{code|253}} | ! {{code|253}} | ||
| | | {{btn|Button253|be=1}} | ||
| PA1 | | {{key|PA1}} | ||
| | | | ||
|- | |- | ||
! {{code|254}} | ! {{code|254}} | ||
| | | {{btn|Button254|be=1}} | ||
| | | {{key|Clear}} | ||
| | |||
|- | |||
! {{code|255}} | |||
| {{btn|Button255|be=1}} | |||
| All unknown keys | |||
| | | | ||
|} | |} | ||
=== Mouse codes === | === Mouse codes === | ||
{{info needed section|how many mouse buttons does bedrock support? there are no official Linux versions, but perhaps chrome OS, or iOS with an attached mouse, could support more than Windows's five}} | {{info needed section|how many mouse buttons does bedrock support? there are no official Linux versions, but perhaps chrome OS, or iOS with an attached mouse, could support more than Windows's five}} | ||
| Line 2,051: | Line 2,570: | ||
|- | |- | ||
! {{code|-99}} | ! {{code|-99}} | ||
| | | {{btn|Button1|be=1}} | ||
| | | {{mouse|left}} | ||
|- | |- | ||
! {{code|-98}} | ! {{code|-98}} | ||
| | | {{btn|Button2|be=1}} | ||
| | | {{mouse|right}} | ||
|- | |- | ||
! {{code|-97}} | ! {{code|-97}} | ||
| | | {{btn|Button3|be=1}} | ||
| | | {{mouse|middle}} | ||
|- | |- | ||
! {{code|-95}} | ! {{code|-95}} | ||
| | | {{btn|Button5|be=1}} | ||
| | | {{mouse|fourth}} | ||
|- | |- | ||
! {{code|-94}} | ! {{code|-94}} | ||
| | | {{btn|Button6|be=1}} | ||
| | | {{mouse|fifth}} | ||
|} | |} | ||
| Line 2,221: | Line 2,740: | ||
{{HistoryTable | {{HistoryTable | ||
|{{HistoryLine|java classic}} | |{{HistoryLine|java classic}} | ||
|{{HistoryLine||0.0.23a| | |{{HistoryLine||0.0.23a|Controls can now be customized. Only keyboard buttons are recognised as valid for rebinding.}} | ||
|{{HistoryLine|java beta}} | |{{HistoryLine|java beta}} | ||
|{{HistoryLine||1.8|dev=Pre-release|Controls can now be bound to mouse buttons; these are handled using negative numbers.}} | |{{HistoryLine||1.8|dev=Pre-release|Controls can now be bound to mouse buttons; these are handled using negative numbers.}} | ||
| Line 2,231: | Line 2,750: | ||
|Controls that are not bound to anything now display "Not bound". | |Controls that are not bound to anything now display "Not bound". | ||
|The game now uses GLFW. | |The game now uses GLFW. | ||
|Added translation keys for most key codes, which are only displayed for keys GLFW doesn't return a name for.}} | |Added translation keys for most key codes, which are only displayed for keys GLFW doesn't return a name for. | ||
|Keys with no assigned ID are called {{code|scancode.###}} | |||
|Accepted values are -2147483648 to 2147483647,{{verify}} though obviously only a tiny subset are attainable.}} | |||
|{{HistoryLine|||dev=17w45a|Keyboard key codes and their translation keys are now prefixed with {{code|key.keyboard.}}. | |{{HistoryLine|||dev=17w45a|Keyboard key codes and their translation keys are now prefixed with {{code|key.keyboard.}}. | ||
|{{code|key.keyboard.-1}} is now used for controls that are not bound to anything.}} | |{{code|key.keyboard.-1}} is now used for controls that are not bound to anything.}} | ||
| Line 2,243: | Line 2,764: | ||
|{{HistoryLine|java upcoming}} | |{{HistoryLine|java upcoming}} | ||
|{{HistoryLine||26.3|dev=snap4|Valid but undefined key codes have been changed from {{code|scancode.###}} to {{code|key.keyboard.###}}. | |{{HistoryLine||26.3|dev=snap4|Valid but undefined key codes have been changed from {{code|scancode.###}} to {{code|key.keyboard.###}}. | ||
|Removed {{code|key.keyboard.f25}}. | |Removed {{code|key.keyboard.f25}}. Its translation string is purposefully retained in the game files for an unknown reason.<ref>{{bug|MC-311176}}</ref> | ||
|Keypad keys are now prefixed with "Keypad ". | |Keypad keys are now prefixed with "Keypad ". | ||
|Keys are only displayed as the internal name that SDL provides if that name is one character long and uses the translation key otherwise. | |Keys are only displayed as the internal name that SDL provides if that name is one character long and uses the translation key otherwise. | ||
|Certain keys, such as keypad plus-or-minus, keypad opening bracket and keypad closing bracket, now display the character they represent, despite not being defined key codes in the game.<ref>{{bug|MC-310109}}, {{bug|MC-310110}}</ref> | |Certain keys, such as keypad plus-or-minus, keypad opening bracket and keypad closing bracket, now display the character they represent, despite not being defined key codes in the game.<ref>{{bug|MC-310109}}, {{bug|MC-310110}}</ref> | ||
|The game now uses SDL3.}} | |The game now uses SDL3. | ||
|The international backslash key is now recognised as {{code|key.keyboard.world.1}} on Windows, rather than {{code|key.keyboard.world.2}}. | |||
|{{code|key.keyboard.keypad.decimal}} can no longer be assigned. | |||
|{{code|key.keyboard.menu}} is now assigned with {{key|Compose}} instead of {{key|Menu}}.}} | |||
|{{HistoryLine|||dev=snap7|Several new translatable key codes have been added: | |{{HistoryLine|||dev=snap7|Several new translatable key codes have been added: | ||
*{{code|key.keyboard.keypad.period}} | {{collapse|content= | ||
*{{code|key.keyboard. | * {{code|key.keyboard.99}} → {{code|key.keyboard.keypad.period}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.101}} → {{code|key.keyboard.application}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.117}} → {{code|key.keyboard.help}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.120}} → {{code|key.keyboard.stop}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.121}} → {{code|key.keyboard.again}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.122}} → {{code|key.keyboard.undo}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.123}} → {{code|key.keyboard.cut}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.124}} → {{code|key.keyboard.copy}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.125}} → {{code|key.keyboard.paste}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.126}} → {{code|key.keyboard.find}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.127}} → {{code|key.keyboard.mute}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.128}} → {{code|key.keyboard.volume.up}} | ||
*{{code|key.keyboard. | * {{code|key.keyboard.129}} → {{code|key.keyboard.volume.down}} | ||
* {{code|key.keyboard.133}} → {{code|key.keyboard.keypad.comma}} | |||
*{{code|key.keyboard. | * {{code|key.keyboard.182}} → {{code|key.keyboard.keypad.left.parenthesis}} | ||
* {{code|key.keyboard.183}} → {{code|key.keyboard.keypad.right.parenthesis}} | |||
*{{code|key.keyboard. | * {{code|key.keyboard.215}} → {{code|key.keyboard.keypad.plus.minus}} | ||
* {{code|key.keyboard.271}} → {{code|key.keyboard.media.play.pause}} | |||
*{{code|key.keyboard. | * {{code|key.keyboard.273}} → {{code|key.keyboard.new}} | ||
{{code|key.keyboard. | * {{code|key.keyboard.277}} → {{code|key.keyboard.save}} | ||
}} | }} | ||
|{{code|key.keyboard.left.alt}}, {{code|key.keyboard.right.alt}}, {{code|key.keyboard.left.win}}, and {{code|key.keyboard.right.win}} now use different translation keys based on the user's operating system.}} | |||
|{{HistoryLine|||dev=snap9|IDs and translation strings have been added for all SDL scancodes, regardless of whether or not said keycodes correspond to actual, bindable keyboard buttons: | |||
{{collapse|content= | |||
* {{code|key.keyboard.102}} → {{code|key.keyboard.power}} | |||
* {{code|key.keyboard.116}} → {{code|key.keyboard.execute}} | |||
* {{code|key.keyboard.119}} → {{code|key.keyboard.select}} | |||
* {{code|key.keyboard.134}} → {{code|key.keyboard.keypad.equals.as400}} | |||
* {{code|key.keyboard.135}} → {{code|key.keyboard.international1}} | |||
* {{code|key.keyboard.136}} → {{code|key.keyboard.international2}} | |||
* {{code|key.keyboard.137}} → {{code|key.keyboard.international3}} | |||
* {{code|key.keyboard.138}} → {{code|key.keyboard.international4}} | |||
* {{code|key.keyboard.139}} → {{code|key.keyboard.international5}} | |||
* {{code|key.keyboard.140}} → {{code|key.keyboard.international6}} | |||
* {{code|key.keyboard.141}} → {{code|key.keyboard.international7}} | |||
* {{code|key.keyboard.142}} → {{code|key.keyboard.international8}} | |||
* {{code|key.keyboard.143}} → {{code|key.keyboard.international9}} | |||
* {{code|key.keyboard.144}} → {{code|key.keyboard.lang1}} | |||
* {{code|key.keyboard.145}} → {{code|key.keyboard.lang2}} | |||
* {{code|key.keyboard.146}} → {{code|key.keyboard.lang3}} | |||
* {{code|key.keyboard.147}} → {{code|key.keyboard.lang4}} | |||
* {{code|key.keyboard.148}} → {{code|key.keyboard.lang5}} | |||
* {{code|key.keyboard.149}} → {{code|key.keyboard.lang6}} | |||
* {{code|key.keyboard.150}} → {{code|key.keyboard.lang7}} | |||
* {{code|key.keyboard.151}} → {{code|key.keyboard.lang8}} | |||
* {{code|key.keyboard.152}} → {{code|key.keyboard.lang9}} | |||
* {{code|key.keyboard.153}} → {{code|key.keyboard.alternate.erase}} | |||
* {{code|key.keyboard.154}} → {{code|key.keyboard.sys.req}} | |||
* {{code|key.keyboard.155}} → {{code|key.keyboard.cancel}} | |||
* {{code|key.keyboard.156}} → {{code|key.keyboard.clear}} | |||
* {{code|key.keyboard.157}} → {{code|key.keyboard.prior}} | |||
* {{code|key.keyboard.158}} → {{code|key.keyboard.enter2}} | |||
* {{code|key.keyboard.159}} → {{code|key.keyboard.separator}} | |||
* {{code|key.keyboard.160}} → {{code|key.keyboard.out}} | |||
* {{code|key.keyboard.161}} → {{code|key.keyboard.oper}} | |||
* {{code|key.keyboard.162}} → {{code|key.keyboard.clear.again}} | |||
* {{code|key.keyboard.163}} → {{code|key.keyboard.crsel}} | |||
* {{code|key.keyboard.164}} → {{code|key.keyboard.exsel}} | |||
* {{code|key.keyboard.176}} → {{code|key.keyboard.keypad.00}} | |||
* {{code|key.keyboard.177}} → {{code|key.keyboard.keypad.000}} | |||
* {{code|key.keyboard.178}} → {{code|key.keyboard.thousands.separator}} | |||
* {{code|key.keyboard.179}} → {{code|key.keyboard.decimal.separator}} | |||
* {{code|key.keyboard.180}} → {{code|key.keyboard.currency.unit}} | |||
* {{code|key.keyboard.181}} → {{code|key.keyboard.currency.subunit}} | |||
* {{code|key.keyboard.184}} → {{code|key.keyboard.keypad.left.brace}} | |||
* {{code|key.keyboard.185}} → {{code|key.keyboard.keypad.right.brace}} | |||
* {{code|key.keyboard.186}} → {{code|key.keyboard.keypad.tab}} | |||
* {{code|key.keyboard.187}} → {{code|key.keyboard.keypad.backspace}} | |||
* {{code|key.keyboard.188}} → {{code|key.keyboard.keypad.a}} | |||
* {{code|key.keyboard.189}} → {{code|key.keyboard.keypad.b}} | |||
* {{code|key.keyboard.190}} → {{code|key.keyboard.keypad.c}} | |||
* {{code|key.keyboard.191}} → {{code|key.keyboard.keypad.d}} | |||
* {{code|key.keyboard.192}} → {{code|key.keyboard.keypad.e}} | |||
* {{code|key.keyboard.193}} → {{code|key.keyboard.keypad.f}} | |||
* {{code|key.keyboard.194}} → {{code|key.keyboard.keypad.xor}} | |||
* {{code|key.keyboard.195}} → {{code|key.keyboard.keypad.power}} | |||
* {{code|key.keyboard.196}} → {{code|key.keyboard.keypad.percent}} | |||
* {{code|key.keyboard.197}} → {{code|key.keyboard.keypad.less}} | |||
* {{code|key.keyboard.198}} → {{code|key.keyboard.keypad.greater}} | |||
* {{code|key.keyboard.199}} → {{code|key.keyboard.keypad.ampersand}} | |||
* {{code|key.keyboard.200}} → {{code|key.keyboard.keypad.double.ampersand}} | |||
* {{code|key.keyboard.201}} → {{code|key.keyboard.keypad.vertical.bar}} | |||
* {{code|key.keyboard.202}} → {{code|key.keyboard.keypad.double.vertical.bar}} | |||
* {{code|key.keyboard.203}} → {{code|key.keyboard.keypad.colon}} | |||
* {{code|key.keyboard.204}} → {{code|key.keyboard.keypad.hash}} | |||
* {{code|key.keyboard.205}} → {{code|key.keyboard.keypad.space}} | |||
* {{code|key.keyboard.206}} → {{code|key.keyboard.keypad.at}} | |||
* {{code|key.keyboard.207}} → {{code|key.keyboard.keypad.exclamation}} | |||
* {{code|key.keyboard.208}} → {{code|key.keyboard.keypad.memory.store}} | |||
* {{code|key.keyboard.209}} → {{code|key.keyboard.keypad.memory.recall}} | |||
* {{code|key.keyboard.210}} → {{code|key.keyboard.keypad.memory.clear}} | |||
* {{code|key.keyboard.211}} → {{code|key.keyboard.keypad.memory.add}} | |||
* {{code|key.keyboard.212}} → {{code|key.keyboard.keypad.memory.subtract}} | |||
* {{code|key.keyboard.213}} → {{code|key.keyboard.keypad.memory.multiply}} | |||
* {{code|key.keyboard.214}} → {{code|key.keyboard.keypad.memory.divide}} | |||
* {{code|key.keyboard.216}} → {{code|key.keyboard.keypad.clear}} | |||
* {{code|key.keyboard.217}} → {{code|key.keyboard.keypad.clear.entry}} | |||
* {{code|key.keyboard.218}} → {{code|key.keyboard.keypad.binary}} | |||
* {{code|key.keyboard.219}} → {{code|key.keyboard.keypad.octal}} | |||
* {{code|key.keyboard.221}} → {{code|key.keyboard.keypad.hexadecimal}} | |||
* {{code|key.keyboard.257}} → {{code|key.keyboard.mode}} | |||
* {{code|key.keyboard.258}} → {{code|key.keyboard.sleep}} | |||
* {{code|key.keyboard.259}} → {{code|key.keyboard.wake}} | |||
* {{code|key.keyboard.260}} → {{code|key.keyboard.channel.up}} | |||
* {{code|key.keyboard.261}} → {{code|key.keyboard.channel.down}} | |||
* {{code|key.keyboard.262}} → {{code|key.keyboard.media.play}} | |||
* {{code|key.keyboard.263}} → {{code|key.keyboard.media.pause}} | |||
* {{code|key.keyboard.264}} → {{code|key.keyboard.media.record}} | |||
* {{code|key.keyboard.265}} → {{code|key.keyboard.media.fast.forward}} | |||
* {{code|key.keyboard.266}} → {{code|key.keyboard.media.rewind}} | |||
* {{code|key.keyboard.267}} → {{code|key.keyboard.media.next.track}} | |||
* {{code|key.keyboard.268}} → {{code|key.keyboard.media.previous.track}} | |||
* {{code|key.keyboard.269}} → {{code|key.keyboard.media.stop}} | |||
* {{code|key.keyboard.270}} → {{code|key.keyboard.media.eject}} | |||
* {{code|key.keyboard.272}} → {{code|key.keyboard.media.select}} | |||
* {{code|key.keyboard.274}} → {{code|key.keyboard.ac.open}} | |||
* {{code|key.keyboard.275}} → {{code|key.keyboard.ac.close}} | |||
* {{code|key.keyboard.276}} → {{code|key.keyboard.ac.exit}} | |||
* {{code|key.keyboard.278}} → {{code|key.keyboard.ac.print}} | |||
* {{code|key.keyboard.279}} → {{code|key.keyboard.ac.properties}} | |||
* {{code|key.keyboard.280}} → {{code|key.keyboard.ac.search}} | |||
* {{code|key.keyboard.281}} → {{code|key.keyboard.ac.home}} | |||
* {{code|key.keyboard.282}} → {{code|key.keyboard.ac.back}} | |||
* {{code|key.keyboard.283}} → {{code|key.keyboard.ac.forward}} | |||
* {{code|key.keyboard.284}} → {{code|key.keyboard.ac.stop}} | |||
* {{code|key.keyboard.285}} → {{code|key.keyboard.ac.refresh}} | |||
* {{code|key.keyboard.286}} → {{code|key.keyboard.ac.bookmarks}} | |||
* {{code|key.keyboard.287}} → {{code|key.keyboard.soft.left}} | |||
* {{code|key.keyboard.288}} → {{code|key.keyboard.soft.right}} | |||
* {{code|key.keyboard.289}} → {{code|key.keyboard.call}} | |||
* {{code|key.keyboard.290}} → {{code|key.keyboard.end.call}} | |||
}} | |||
|{{code|key.keyboard.application}} now displays as "Application". | |||
|{{code|key.keyboard.left.win}} and {{code|key.keyboard.right.win}} now display as "Left Windows" and "Right Windows" on Windows, respectively. | |||
|{{code|key.keyboard.left.win}} and {{code|key.keyboard.right.win}} now use the {{code|key.keyboard.left.meta}} and {{code|key.keyboard.right.meta}} translation keys on Linux, respectively. | |||
|{{code|key.keyboard.new}} renamed to {{code|key.keyboard.ac.new}} | |||
|{{code|key.keyboard.save}} renamed to {{code|key.keyboard.ac.save}}}} | |||
}} | |||
==== Removed keys ==== | |||
{{section needed|transfer F25 here when 26.3 comes out}} | |||
== Notes == | == Notes == | ||
Latest revision as of 11:07, 8 September 2026
Template:For This is a list of key codes used by Minecraft:Minecraft, which are used in the Minecraft:options.txt file.
Java Edition
Only keys which can be directly detected by the operating system are able to be bound to game controls - keys such as F Lock<ref>Template:Bug</ref> or Fn typically are not recognisable themselves as keys, and Minecraft and all other computer programs will be oblivious to them in isolation.
Only mouse buttons can have controls be bound to them in the options menu. Mouse movement, vertical scrolling and horizontal scrolling are hardcoded, and their default actions cannot be assigned to other keys or buttons, nor can scrolling or moving the mouse be made to do anything else.
Java Edition does not provide official support for controllers.
Keyboard codes
Template:Info needed section Keyboard buttons are handled as a signed 32-bit integer, meaning that through editing options.txt, values from Template:Code to Template:Code can be specified without being rejected by the game as invalid. Any keys corresponding to a valid SDL key code will be automatically converted to one of the named keys below.
The displayed names of several keys will change depending on the currently active system keyboard layout. The values displayed in this table assume a standard en-US QWERTY layout. Some keys also have operating system dependent names, which are assigned different rows sharing an ID.
Unused
Template:Info needed section Minecraft includes IDs and translation strings for all named SDL3 key IDs, even those which are not present in the key binding files for any supported operating system, and therefore cannot be accessed.
These can be set via modifying Template:Code manually, but will not be triggerable due to the lack of an associated key.
Keys such as World 2, Keypad Decimal and Escape may warrant inclusion here later.Template:Upcoming
Mouse codes
Mouse buttons are handled as a signed 32-bit integer, meaning that through editing options.txt, values from Template:Code to Template:Code can be specified without being rejected by the game as invalid.<ref>Template:Bug</ref> However, the USB HID specification only permits mouse buttons from 1 to 65535,<ref>https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf</ref> meaning that all negative values and the vast majority of the positive values can never actually be assigned to in-game actions without file editing.
Only the first eight mouse buttons can have controls assigned to them.Template:Until
On Linux, mouse buttons up to 48Template:Upcoming can be specified (evdev key press events 272 to 319) - it is not known if any supported operating systems support a 49th or higher mouse button as input. The maximum mouse button on macOS is 32,<ref>according to what karabiner-elements allows: https://discord.com/channels/647810384031645728/648555495564509184/1528136787434930358</ref> and the maximum mouse button on Windows is 5.
For the first three mouse buttons, the translation keys match the key IDs; all other buttons follow a generic template.
Bedrock Edition
Keyboard codes
Template:Info needed section Template:Cleanup In Template:BE, keys are stored as the decimal representation of their virtual key code.
Some numbers are skipped because they are reserved or not assigned. By modifying options.txt, you can force the game to show these numbers (prefixed with "Button"), but they are unobtainable by pressing a key.
The virtual key code specification also provides numbers for buttons on the mouse. However, mouse buttons are not stored as those numbers.
Mouse codes
Template:Info needed section Mouse buttons are represented by negative numbers.
Controller codes
History
Java Edition
Removed keys
Notes
References
Template:Navbox Java Edition technical Template:Navbox Bedrock Edition
Minecraft:fr:Codes de touche Minecraft:hu:Billentyűkódok Minecraft:ja:キーコード Minecraft:nl:Toetscodes Minecraft:pt:Códigos de teclas Minecraft:ru:Коды клавиш Minecraft:uk:Коди клавіш Minecraft:zh:键控代码