Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Key codes: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: updated from Minecraft
SyncBot (talk | contribs)
Sync: updated from Minecraft
Line 12: Line 12:


=== Keyboard codes ===
=== Keyboard codes ===
{{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.
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.


Line 21: Line 20:
! Displayed name
! Displayed name
! colspan="2" | Physical key or button
! 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 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.}}
|-
|-
! {{code|key.keyboard.unknown}}
! {{code|key.keyboard.unknown}}
| {{btn|Not Bound}}
| {{btn|Not Bound}}
| colspan="2" | Unassigned{{note|Also used by keys unrecognized by SDL3, see {{bug|MC-310108}}{{upcoming|java 26.3}}}}
| colspan="2" | Unassigned, or unrecognised<ref>{{bug|MC-310108}}</ref>
| {{code|key.keyboard.unknown}}
| {{code|key.keyboard.unknown}}
|-
|-
Line 31: Line 30:
| {{btn|0}}
| {{btn|0}}
| colspan="2" | {{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.}}
| {{note|name=single-character|No translation key exists and the internal name from SDL is displayed instead.}}
|-
|-
! {{code|key.keyboard.1}}
! {{code|key.keyboard.1}}
Line 221: Line 220:
| {{btn|'}}
| {{btn|'}}
| colspan="2" | {{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.apostrophe}}{{note|name=unused-translation|This translation key is typically unused, but may be used with certain keyboard layouts or operating systems.}}
|-
|-
! {{code|key.keyboard.backslash}}
! {{code|key.keyboard.backslash}}
Line 274: Line 273:
|-
|-
! {{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}}
| {{btn|\}}
| 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}}
| colspan="2" | {{key|\}} (ISO)
| {{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.1}}{{note|name=world-key-translation|This translation key could be used with certain keyboard layouts or operating systems.}}
|-
! {{code|key.keyboard.world.2}}
| {{btn|\}}{{until|je 26.3}}<br>{{btn|<nowiki>#</nowiki>}}{{upcoming|je 26.3}}
| 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}}
Line 402: Line 396:
| colspan="2" | {{key|F24}}
| colspan="2" | {{key|F24}}
| {{code|key.keyboard.f24}}
| {{code|key.keyboard.f24}}
|-
! {{code|key.keyboard.f25}}{{until|java 26.3}}
| {{btn|F25}}
| colspan="2" | Unclear{{note|Ostensibly for a twenty-fifth function key, but Windows, Linux and presumably macOS only recognize up to F24. Some keyboards from decades past go past F24, and Arch Linux can apparently recognize up to F246, however it is unknown if Minecraft would recognize 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}}
| {{btn|Keypad 0}}
| colspan="2" | {{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.0}}
|-
|-
! {{code|key.keyboard.keypad.1}}
! {{code|key.keyboard.keypad.1}}
| {{btn|1}}{{until|java 26.3}}<br>{{btn|Keypad 1}}{{upcoming|java 26.3}}
| {{btn|Keypad 1}}
| colspan="2" | {{key|Numpad 1}}
| colspan="2" | {{key|Numpad 1}}
| {{code|key.keyboard.keypad.1}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.1}}
|-
|-
! {{code|key.keyboard.keypad.2}}
! {{code|key.keyboard.keypad.2}}
| {{btn|2}}{{until|java 26.3}}<br>{{btn|Keypad 2}}{{upcoming|java 26.3}}
| {{btn|Keypad 2}}
| colspan="2" | {{key|Numpad 2}}
| colspan="2" | {{key|Numpad 2}}
| {{code|key.keyboard.keypad.2}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.2}}
|-
|-
! {{code|key.keyboard.keypad.3}}
! {{code|key.keyboard.keypad.3}}
| {{btn|3}}{{until|java 26.3}}<br>{{btn|Keypad 3}}{{upcoming|java 26.3}}
| {{btn|Keypad 3}}
| colspan="2" | {{key|Numpad 3}}
| colspan="2" | {{key|Numpad 3}}
| {{code|key.keyboard.keypad.3}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.3}}
|-
|-
! {{code|key.keyboard.keypad.4}}
! {{code|key.keyboard.keypad.4}}
| {{btn|4}}{{until|java 26.3}}<br>{{btn|Keypad 4}}{{upcoming|java 26.3}}
| {{btn|Keypad 4}}
| colspan="2" | {{key|Numpad 4}}
| colspan="2" | {{key|Numpad 4}}
| {{code|key.keyboard.keypad.4}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.4}}
|-
|-
! {{code|key.keyboard.keypad.5}}
! {{code|key.keyboard.keypad.5}}
| {{btn|5}}{{until|java 26.3}}<br>{{btn|Keypad 5}}{{upcoming|java 26.3}}
| {{btn|Keypad 5}}
| colspan="2" | {{key|Numpad 5}}
| colspan="2" | {{key|Numpad 5}}
| {{code|key.keyboard.keypad.5}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.5}}
|-
|-
! {{code|key.keyboard.keypad.6}}
! {{code|key.keyboard.keypad.6}}
| {{btn|6}}{{until|java 26.3}}<br>{{btn|Keypad 6}}{{upcoming|java 26.3}}
| {{btn|Keypad 6}}
| colspan="2" | {{key|Numpad 6}}
| colspan="2" | {{key|Numpad 6}}
| {{code|key.keyboard.keypad.6}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.6}}
|-
|-
! {{code|key.keyboard.keypad.7}}
! {{code|key.keyboard.keypad.7}}
| {{btn|7}}{{until|java 26.3}}<br>{{btn|Keypad 7}}{{upcoming|java 26.3}}
| {{btn|Keypad 7}}
| colspan="2" | {{key|Numpad 7}}
| colspan="2" | {{key|Numpad 7}}
| {{code|key.keyboard.keypad.7}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.7}}
|-
|-
! {{code|key.keyboard.keypad.8}}
! {{code|key.keyboard.keypad.8}}
| {{btn|8}}{{until|java 26.3}}<br>{{btn|Keypad 8}}{{upcoming|java 26.3}}
| {{btn|Keypad 8}}
| colspan="2" | {{key|Numpad 8}}
| colspan="2" | {{key|Numpad 8}}
| {{code|key.keyboard.keypad.8}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.8}}
|-
|-
! {{code|key.keyboard.keypad.9}}
! {{code|key.keyboard.keypad.9}}
| {{btn|9}}{{until|java 26.3}}<br>{{btn|Keypad 9}}{{upcoming|java 26.3}}
| {{btn|Keypad 9}}
| colspan="2" | {{key|Numpad 9}}
| colspan="2" | {{key|Numpad 9}}
| {{code|key.keyboard.keypad.9}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.9}}
|-
|-
! {{code|key.keyboard.keypad.add}}
! {{code|key.keyboard.keypad.add}}
| {{btn|+}}{{until|java 26.3}}<br>{{btn|Keypad +}}{{upcoming|java 26.3}}
| {{btn|Keypad +}}
| colspan="2" | {{key|Numpad <nowiki>+</nowiki>}}
| colspan="2" | {{key|Numpad <nowiki>+</nowiki>}}
| {{code|key.keyboard.keypad.add}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.add}}
|-
|-
! {{code|key.keyboard.keypad.subtract}}
! {{code|key.keyboard.keypad.subtract}}
| {{btn|-}}{{until|java 26.3}}<br>{{btn|Keypad -}}{{upcoming|java 26.3}}
| {{btn|Keypad -}}
| colspan="2" | {{key|Numpad -}}
| colspan="2" | {{key|Numpad -}}
| {{code|key.keyboard.keypad.subtract}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.subtract}}
|-
|-
! {{code|key.keyboard.keypad.multiply}}
! {{code|key.keyboard.keypad.multiply}}
| {{btn|<nowiki>*</nowiki>}}{{until|java 26.3}}<br>{{btn|Keypad *}}{{upcoming|java 26.3}}
| {{btn|Keypad *}}
| colspan="2" | {{key|Numpad *}}
| colspan="2" | {{key|Numpad *}}
| {{code|key.keyboard.keypad.multiply}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.multiply}}
|-
|-
! {{code|key.keyboard.keypad.divide}}
! {{code|key.keyboard.keypad.divide}}
| {{btn|/}}{{until|java 26.3}}<br>{{btn|Keypad /}}{{upcoming|java 26.3}}
| {{btn|Keypad /}}
| colspan="2" | {{key|Numpad /}}
| colspan="2" | {{key|Numpad /}}
| {{code|key.keyboard.keypad.divide}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.divide}}
|-
|-
! {{code|key.keyboard.keypad.equal}}
! {{code|key.keyboard.keypad.equal}}
| {{btn|{{=}}}}{{until|java 26.3}}<br>{{btn|Keypad {{=}}}}{{upcoming|java 26.3}}
| {{btn|Keypad {{=}}}}
| colspan="2" | {{key|Numpad {{=}}}}
| colspan="2" | {{key|Numpad {{=}}}}
| {{code|key.keyboard.keypad.equal}}{{note|name=unused-translation-until}}
| {{code|key.keyboard.keypad.equal}}
|-
|-
! {{code|key.keyboard.keypad.plus.minus}}{{upcoming|java 26.3}}
! {{code|key.keyboard.keypad.plus.minus}}
| {{btn|Keypad ±}}
| {{btn|Keypad ±}}{{verify}}
| colspan="2" | {{key|Numpad ±}}
| colspan="2" | {{key|Numpad ±}}
| {{code|key.keyboard.keypad.plus.minus}}
| {{code|key.keyboard.keypad.plus.minus}}
|-
|-
! {{code|key.keyboard.keypad.left.parenthesis}}{{upcoming|java 26.3}}
! {{code|key.keyboard.keypad.left.parenthesis}}
| {{btn|Keypad (}}
| {{btn|Keypad (}}{{verify}}
| colspan="2" | {{key|Numpad (}}
| colspan="2" | {{key|Numpad (}}
| {{code|key.keyboard.keypad.left.parenthesis}}
| {{code|key.keyboard.keypad.left.parenthesis}}
|-
|-
! {{code|key.keyboard.keypad.right.parenthesis}}{{upcoming|java 26.3}}
! {{code|key.keyboard.keypad.right.parenthesis}}
| {{btn|Keypad )}}
| {{btn|Keypad )}}{{verify}}
| colspan="2" | {{key|Numpad )}}
| colspan="2" | {{key|Numpad )}}
| {{code|key.keyboard.keypad.right.parenthesis}}
| {{code|key.keyboard.keypad.right.parenthesis}}
|-
|-
! {{code|key.keyboard.keypad.decimal}}
! {{code|key.keyboard.keypad.period}}
| {{btn|.}}{{until|java 26.3}}<br>{{btn|Keypad Decimal}}{{upcoming|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}}
| {{btn|Keypad .}}
| {{btn|Keypad .}}
| colspan="2" | {{key|Numpad .}}<ref>{{bug|MC-310826}}</ref>
| colspan="2" | {{key|Numpad .}}
| {{code|key.keyboard.keypad.period}}
| {{code|key.keyboard.keypad.period}}
|-
|-
! {{code|key.keyboard.keypad.comma}}{{upcoming|java 26.3}}
! {{code|key.keyboard.keypad.comma}}
| {{btn|Keypad ,}}
| {{btn|Keypad ,}}
| colspan="2" | {{key|Numpad ,}}{{note|Appears to instead be interpreted as the keypad decimal point key on Linux: {{bug|MC-310845}}}}
| colspan="2" | {{key|Numpad ,}}{{note|name=XFree86-disparity}}
| {{code|key.keyboard.keypad.comma}}
| {{code|key.keyboard.keypad.comma}}
|-
|-
Line 520: Line 504:
! {{code|key.keyboard.menu}}
! {{code|key.keyboard.menu}}
| {{btn|Menu}}
| {{btn|Menu}}
| colspan="2" | {{key|Menu}}{{until|java 26.3}}<br>{{key|Compose}}{{upcoming|je 26.3}}
| colspan="2" | {{key|Compose}}{{verify|windows?}}
| {{code|key.keyboard.menu}}
| {{code|key.keyboard.menu}}
|-
|-
! {{code|key.keyboard.application}}{{upcoming|java 26.3}}
! {{code|key.keyboard.application}}
| {{btn|Application}}
| {{btn|Application}}
| colspan="2" | {{key|Menu}}
| colspan="2" | {{key|Menu}}
Line 567: Line 551:
| colspan="2" | {{key|Print Screen}}
| colspan="2" | {{key|Print Screen}}
| {{code|key.keyboard.print.screen}}
| {{code|key.keyboard.print.screen}}
|-
! {{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}}}}
| colspan="2" | {{key|System Request}}{{note|Linux only - only works on some systems right now, see https://github.com/libsdl-org/SDL/pull/16252}}
| {{code|key.keyboard.sys.req}}
|-
|-
! {{code|key.keyboard.pause}}
! {{code|key.keyboard.pause}}
Line 644: Line 633:
| {{code|key.keyboard.left.alt}}
| {{code|key.keyboard.left.alt}}
|-
|-
| {{btn|Left Option}}{{upcoming|java 26.3}}
| {{btn|Left Option}}
| macOS
| macOS
| {{key|Left Option}}
| {{key|Left Option}}
| {{code|key.keyboard.left.option}}{{upcoming|java 26.3}}
| {{code|key.keyboard.left.option}}
|-
|-
! rowspan="2" | {{code|key.keyboard.right.alt}}
! rowspan="2" | {{code|key.keyboard.right.alt}}
Line 655: Line 644:
| {{code|key.keyboard.right.alt}}
| {{code|key.keyboard.right.alt}}
|-
|-
| {{btn|Right Option}}{{upcoming|java 26.3}}
| {{btn|Right Option}}
| macOS
| macOS
| {{key|Right Option}}
| {{key|Right Option}}
| {{code|key.keyboard.right.option}}{{upcoming|java 26.3}}
| {{code|key.keyboard.right.option}}
|-
|-
! 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}}
| {{btn|Left Windows}}
| Windows
| Windows
| {{key|Left Windows}}
| {{key|Left Windows}}
| {{code|key.keyboard.left.win}}{{until|java 26.3}}<br>{{code|key.keyboard.left.windows}}{{upcoming|java 26.3}}
| {{code|key.keyboard.left.windows}}
|-
|-
| {{btn|Left Command}}{{upcoming|java 26.3}}
| {{btn|Left Command}}
| macOS
| macOS
| {{key|Left Command}}
| {{key|Left Command}}
| {{code|key.keyboard.left.command}}{{upcoming|java 26.3}}
| {{code|key.keyboard.left.command}}
|-
|-
| {{btn|Left Meta}}{{upcoming|java 26.3}}
| {{btn|Left Meta}}
| Linux
| Linux
| {{key|Left Meta}}
| {{key|Left Meta}}
| {{code|key.keyboard.left.meta}}{{upcoming|java 26.3}}
| {{code|key.keyboard.left.meta}}
|-
|-
! 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}}
| {{btn|Right Windows}}
| Windows
| Windows
| {{key|Right Windows}}
| {{key|Right Windows}}
| {{code|key.keyboard.right.win}}{{until|java 26.3}}<br>{{code|key.keyboard.right.windows}}{{upcoming|java 26.3}}
| {{code|key.keyboard.right.windows}}
|-
|-
| {{btn|Right Command}}{{upcoming|java 26.3}}
| {{btn|Right Command}}
| macOS
| macOS
| {{key|Right Command}}
| {{key|Right Command}}
| {{code|key.keyboard.right.command}}{{upcoming|java 26.3}}
| {{code|key.keyboard.right.command}}
|-
|-
| {{btn|Right Meta}}{{upcoming|java 26.3}}
| {{btn|Right Meta}}
| Linux
| Linux
| {{key|Right Meta}}
| {{key|Right Meta}}
| {{code|key.keyboard.right.meta}}{{upcoming|java 26.3}}
| {{code|key.keyboard.right.meta}}
|-
|-
! 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" | {{code|key.keyboard.lang1}}<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"/>
| rowspan="2" | {{btn|Language 1}}<ref name="genericintl"/>
| Windows/Linux
| Windows/Linux
Line 701: Line 690:
| {{key|Kana}}
| {{key|Kana}}
|-
|-
! rowspan="2" | {{code|key.keyboard.lang2}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! rowspan="2" | {{code|key.keyboard.lang2}}<ref name="genericintl"/>
| rowspan="2" | {{btn|Language 2}}<ref name="genericintl"/>
| rowspan="2" | {{btn|Language 2}}<ref name="genericintl"/>
| Windows/Linux
| Windows/Linux
Line 710: Line 699:
| {{key|Eisu}}
| {{key|Eisu}}
|-
|-
! {{code|key.keyboard.lang3}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.lang3}}<ref name="genericintl"/>
| {{btn|Language 3}}<ref name="genericintl"/>
| {{btn|Language 3}}<ref name="genericintl"/>
| colspan="2" | {{key|Katakana}}
| colspan="2" | {{key|Katakana}}
| {{code|key.keyboard.lang3}}<ref name="genericintl"/>
| {{code|key.keyboard.lang3}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.lang4}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.lang4}}<ref name="genericintl"/>
| {{btn|Language 4}}<ref name="genericintl"/>
| {{btn|Language 4}}<ref name="genericintl"/>
| colspan="2" | {{key|Hiragana}}
| colspan="2" | {{key|Hiragana}}
| {{code|key.keyboard.lang4}}<ref name="genericintl"/>
| {{code|key.keyboard.lang4}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.lang5}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.lang5}}<ref name="genericintl"/>
| {{btn|Language 5}}<ref name="genericintl"/>
| {{btn|Language 5}}<ref name="genericintl"/>
| colspan="2" | {{key|Zenkaku/Hankaku}}{{note|May not work correctly on Linux: {{bug|MC-310984}}}}
| colspan="2" | {{key|Zenkaku/Hankaku}}{{note|name=XFree86-disparity|Does not bind to the correct key on some Linux systems: https://github.com/libsdl-org/SDL/pull/16239}}
| {{code|key.keyboard.lang5}}<ref name="genericintl"/>
| {{code|key.keyboard.lang5}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.international1}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.international1}}<ref name="genericintl"/>
| {{btn|International 1}}<ref name="genericintl"/>
| {{btn|International 1}}<ref name="genericintl"/>
| colspan="2" | {{key|ろ}} (JIS) / {{key|/}} (ABNT)
| colspan="2" | {{key|ろ}} (JIS) / {{key|/}} (ABNT)
| {{code|key.keyboard.international1}}<ref name="genericintl"/>
| {{code|key.keyboard.international1}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.international2}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.international2}}<ref name="genericintl"/>
| {{btn|International 2}}<ref name="genericintl"/>
| {{btn|International 2}}<ref name="genericintl"/>
| colspan="2" | {{key|Katakana/Hiragana}}
| colspan="2" | {{key|Katakana/Hiragana}}
| {{code|key.keyboard.international2}}<ref name="genericintl"/>
| {{code|key.keyboard.international2}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.international3}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.international3}}<ref name="genericintl"/>
| {{btn|International 3}}<ref name="genericintl"/>
| {{btn|International 3}}<ref name="genericintl"/>
| colspan="2" | {{key|¥}}
| colspan="2" | {{key|¥}}
| {{code|key.keyboard.international3}}<ref name="genericintl"/>
| {{code|key.keyboard.international3}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.international4}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.international4}}<ref name="genericintl"/>
| {{btn|International 4}}<ref name="genericintl"/>
| {{btn|International 4}}<ref name="genericintl"/>
| colspan="2" | {{key|Henkan}}
| colspan="2" | {{key|Henkan}}
| {{code|key.keyboard.international4}}<ref name="genericintl"/>
| {{code|key.keyboard.international4}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.international5}}{{upcoming|java 26.3}}<ref name="genericintl"/>
! {{code|key.keyboard.international5}}<ref name="genericintl"/>
| {{btn|International 5}}<ref name="genericintl"/>
| {{btn|International 5}}<ref name="genericintl"/>
| colspan="2" | {{key|Muhenkan}}
| colspan="2" | {{key|Muhenkan}}
| {{code|key.keyboard.international5}}<ref name="genericintl"/>
| {{code|key.keyboard.international5}}<ref name="genericintl"/>
|-
|-
! {{code|key.keyboard.international6}}{{upcoming|java 26.3}}<ref name="generic9800">{{bug|MC-311184}}</ref>
! {{code|key.keyboard.international6}}<ref name="generic9800">{{bug|MC-311184}}</ref>
| {{btn|International 6}}<ref name="generic9800"/>
| {{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}}
| 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.international6}}<ref name="generic9800"/>
|-
|-
! {{code|key.keyboard.alternate.erase}}{{upcoming|java 26.3}}
! {{code|key.keyboard.mute}}
| {{btn|Alternate Erase}}
| colspan="2" | {{note|Not recognized for some reason: {{bug|MC-311320}}}}
| {{code|key.keyboard.alternate.erase}}
|-
! {{code|key.keyboard.mute}}{{upcoming|java 26.3}}
| {{btn|Mute}}
| {{btn|Mute}}
| colspan="2" | {{key|Mute}}
| colspan="2" | {{key|Mute}}
| {{code|key.keyboard.mute}}
| {{code|key.keyboard.mute}}
|-
|-
! {{code|key.keyboard.volume.down}}{{upcoming|java 26.3}}
! {{code|key.keyboard.volume.down}}
| {{btn|Volume Down}}
| {{btn|Volume Down}}
| colspan="2" | {{key|Volume Down}}
| colspan="2" | {{key|Volume Down}}
| {{code|key.keyboard.volume.down}}
| {{code|key.keyboard.volume.down}}
|-
|-
! {{code|key.keyboard.volume.up}}{{upcoming|java 26.3}}
! {{code|key.keyboard.volume.up}}
| {{btn|Volume Up}}
| {{btn|Volume Up}}
| colspan="2" | {{key|Volume Up}}
| colspan="2" | {{key|Volume Up}}
| {{code|key.keyboard.volume.up}}
| {{code|key.keyboard.volume.up}}
|-
|-
! {{code|key.keyboard.media.play.pause}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.play.pause}}
| {{btn|Play/Pause}}
| {{btn|Play/Pause}}
| colspan="2" | {{key|Media Play Pause}}
| colspan="2" | {{key|Media Play Pause}}
| {{code|key.keyboard.media.play.pause}}
| {{code|key.keyboard.media.play.pause}}
|-
|-
! {{code|key.keyboard.media.play}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.play}}
| {{btn|Media Play}}
| {{btn|Media Play}}
| colspan="2" | {{key|Media Play}}
| colspan="2" | {{key|Media Play}}
| {{code|key.keyboard.media.play}}
| {{code|key.keyboard.media.play}}
|-
|-
! {{code|key.keyboard.media.pause}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.pause}}
| {{btn|Media Pause}}
| {{btn|Media Pause}}
| colspan="2" | {{key|Media Pause}}
| colspan="2" | {{key|Media Pause}}
| {{code|key.keyboard.media.pause}}
| {{code|key.keyboard.media.pause}}
|-
|-
! {{code|key.keyboard.media.record}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.record}}
| {{btn|Record}}
| {{btn|Record}}
| colspan="2" | {{key|Media Record}}
| colspan="2" | {{key|Media Record}}
| {{code|key.keyboard.media.record}}
| {{code|key.keyboard.media.record}}
|-
|-
! {{code|key.keyboard.media.fast.forward}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.fast.forward}}
| {{btn|Fast Forward}}
| {{btn|Fast Forward}}
| colspan="2" | {{key|Media Fast Forward}}
| colspan="2" | {{key|Media Fast Forward}}
| {{code|key.keyboard.media.fast.forward}}
| {{code|key.keyboard.media.fast.forward}}
|-
|-
! {{code|key.keyboard.media.rewind}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.rewind}}
| {{btn|Rewind}}
| {{btn|Rewind}}
| colspan="2" | {{key|Media Rewind}}
| colspan="2" | {{key|Media Rewind}}
| {{code|key.keyboard.media.rewind}}
| {{code|key.keyboard.media.rewind}}
|-
|-
! {{code|key.keyboard.media.next.track}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.next.track}}
| {{btn|Next Track}}
| {{btn|Next Track}}
| colspan="2" | {{key|Media Next Track}}
| colspan="2" | {{key|Media Next Track}}
| {{code|key.keyboard.media.next.track}}
| {{code|key.keyboard.media.next.track}}
|-
|-
! {{code|key.keyboard.media.previous.track}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.previous.track}}
| {{btn|Previous Track}}
| {{btn|Previous Track}}
| colspan="2" | {{key|Media Previous Track}}
| colspan="2" | {{key|Media Previous Track}}
| {{code|key.keyboard.media.previous.track}}
| {{code|key.keyboard.media.previous.track}}
|-
|-
! {{code|key.keyboard.media.stop}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.stop}}
| {{btn|Media Stop}}
| {{btn|Media Stop}}
| colspan="2" | {{key|Media Stop}}
| colspan="2" | {{key|Media Stop}}
| {{code|key.keyboard.media.stop}}
| {{code|key.keyboard.media.stop}}
|-
|-
! {{code|key.keyboard.media.eject}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.eject}}
| {{btn|Eject}}
| {{btn|Eject}}
| colspan="2" | {{key|Media Eject}}
| colspan="2" | {{key|Media Eject}}
| {{code|key.keyboard.media.eject}}
| {{code|key.keyboard.media.eject}}
|-
|-
! {{code|key.keyboard.media.select}}{{upcoming|java 26.3}}
! {{code|key.keyboard.media.select}}
| {{btn|Media Select}}
| {{btn|Media Select}}
| colspan="2" | {{key|Media Select}}
| colspan="2" | {{key|Media Select}}
| {{code|key.keyboard.media.select}}
| {{code|key.keyboard.media.select}}
|-
|-
! {{code|key.keyboard.stop}}{{upcoming|java 26.3}}
! {{code|key.keyboard.stop}}
| {{btn|Stop}}
| {{btn|Stop}}
| colspan="2" | {{key|Stop}}
| colspan="2" | {{key|Stop}}{{note|name=XFree86-disparity}}
| {{code|key.keyboard.stop}}
| {{code|key.keyboard.stop}}
|-
|-
! {{code|key.keyboard.cancel}}{{upcoming|java 26.3}}
! {{code|key.keyboard.cancel}}
| {{btn|Cancel}}
| {{btn|Cancel}}
| colspan="2" | {{key|Cancel}}
| colspan="2" | {{key|Cancel}}
| {{code|key.keyboard.cancel}}
| {{code|key.keyboard.cancel}}
|-
|-
! {{code|key.keyboard.cut}}{{upcoming|java 26.3}}
! {{code|key.keyboard.cut}}
| {{btn|Cut}}
| {{btn|Cut}}
| colspan="2" | {{key|Cut}}
| colspan="2" | {{key|Cut}}
| {{code|key.keyboard.cut}}
| {{code|key.keyboard.cut}}
|-
|-
! {{code|key.keyboard.copy}}{{upcoming|java 26.3}}
! {{code|key.keyboard.copy}}
| {{btn|Copy}}
| {{btn|Copy}}
| colspan="2" | {{key|Copy}}
| colspan="2" | {{key|Copy}}
| {{code|key.keyboard.copy}}
| {{code|key.keyboard.copy}}
|-
|-
! {{code|key.keyboard.paste}}{{upcoming|java 26.3}}
! {{code|key.keyboard.paste}}
| {{btn|Paste}}
| {{btn|Paste}}
| colspan="2" | {{key|Paste}}
| colspan="2" | {{key|Paste}}
| {{code|key.keyboard.paste}}
| {{code|key.keyboard.paste}}
|-
|-
! {{code|key.keyboard.undo}}{{upcoming|java 26.3}}
! {{code|key.keyboard.undo}}
| {{btn|Undo}}
| {{btn|Undo}}
| colspan="2" | {{key|Undo}}
| colspan="2" | {{key|Undo}}
| {{code|key.keyboard.undo}}
| {{code|key.keyboard.undo}}
|-
|-
! {{code|key.keyboard.again}}{{upcoming|java 26.3}}
! {{code|key.keyboard.again}}
| {{btn|Again}}
| {{btn|Again}}
| colspan="2" | {{key|Redo}}<ref>{{bug|MC-310863}}</ref>
| colspan="2" | {{key|Redo}}<ref>{{bug|MC-310863}}</ref>
| {{code|key.keyboard.again}}
| {{code|key.keyboard.again}}
|-
|-
! {{code|key.keyboard.ac.new}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.new}}
| {{btn|AC New}}
| {{btn|AC New}}
| colspan="2" | {{key|Application New}}
| colspan="2" | {{key|Application New}}
| {{code|key.keyboard.ac.new}}
| {{code|key.keyboard.ac.new}}
|-
|-
! {{code|key.keyboard.ac.open}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.open}}
| {{btn|AC Open}}
| {{btn|AC Open}}
| colspan="2" | {{key|Application Open}}
| colspan="2" | {{key|Application Open}}
| {{code|key.keyboard.ac.open}}
| {{code|key.keyboard.ac.open}}
|-
|-
! {{code|key.keyboard.ac.save}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.save}}
| {{btn|AC Save}}
| {{btn|AC Save}}
| colspan="2" | {{key|Application Save}}
| colspan="2" | {{key|Application Save}}
| {{code|key.keyboard.ac.save}}
| {{code|key.keyboard.ac.save}}
|-
|-
! {{code|key.keyboard.help}}{{upcoming|java 26.3}}
! {{code|key.keyboard.help}}
| {{btn|Help}}
| {{btn|Help}}
| colspan="2" | {{key|Help}}
| colspan="2" | {{key|Help}}
| {{code|key.keyboard.help}}
| {{code|key.keyboard.help}}
|-
|-
! {{code|key.keyboard.find}}{{upcoming|java 26.3}}
! {{code|key.keyboard.find}}
| {{btn|Find}}
| {{btn|Find}}
| colspan="2" | {{key|Find}}
| colspan="2" | {{key|Find}}
| {{code|key.keyboard.find}}
| {{code|key.keyboard.find}}
|-
|-
! {{code|key.keyboard.ac.close}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.close}}
| {{btn|AC Close}}
| {{btn|AC Close}}
| colspan="2" | {{key|Application Close}}
| colspan="2" | {{key|Application Close}}
| {{code|key.keyboard.ac.close}}
| {{code|key.keyboard.ac.close}}
|-
|-
! {{code|key.keyboard.ac.exit}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.exit}}
| {{btn|AC Exit}}
| {{btn|AC Exit}}
| colspan="2" | {{key|Application Exit}}
| colspan="2" | {{key|Application Exit}}{{note|name=XFree86-disparity}}
| {{code|key.keyboard.ac.exit}}
| {{code|key.keyboard.ac.exit}}
|-
|-
! {{code|key.keyboard.ac.stop}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.stop}}
| {{btn|AC Stop}}
| {{btn|AC Stop}}
| colspan="2" | {{key|Application Stop}}
| colspan="2" | {{key|Application Stop}}
| {{code|key.keyboard.ac.stop}}
| {{code|key.keyboard.ac.stop}}
|-
|-
! {{code|key.keyboard.ac.properties}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.properties}}
| {{btn|AC Properties}}
| {{btn|AC Properties}}
| colspan="2" | {{key|Application Properties}}
| colspan="2" | {{key|Application Properties}}{{note|name=XFree86-disparity}}
| {{code|key.keyboard.ac.properties}}
| {{code|key.keyboard.ac.properties}}
|-
|-
! {{code|key.keyboard.ac.search}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.search}}
| {{btn|AC Search}}
| {{btn|AC Search}}
| colspan="2" | {{key|Application Search}}
| colspan="2" | {{key|Application Search}}
| {{code|key.keyboard.ac.search}}
| {{code|key.keyboard.ac.search}}
|-
|-
! {{code|key.keyboard.ac.home}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.home}}
| {{btn|AC Home}}
| {{btn|AC Home}}
| colspan="2" | {{key|Application Home}}
| colspan="2" | {{key|Application Home}}
| {{code|key.keyboard.ac.home}}
| {{code|key.keyboard.ac.home}}
|-
|-
! {{code|key.keyboard.ac.back}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.back}}
| {{btn|AC Back}}
| {{btn|AC Back}}
| colspan="2" | {{key|Application Back}}
| colspan="2" | {{key|Application Back}}
| {{code|key.keyboard.ac.back}}
| {{code|key.keyboard.ac.back}}
|-
|-
! {{code|key.keyboard.ac.forward}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.forward}}
| {{btn|AC Forward}}
| {{btn|AC Forward}}
| colspan="2" | {{key|Application Forward}}
| colspan="2" | {{key|Application Forward}}
| {{code|key.keyboard.ac.forward}}
| {{code|key.keyboard.ac.forward}}
|-
|-
! {{code|key.keyboard.ac.refresh}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.refresh}}
| {{btn|AC Refresh}}
| {{btn|AC Refresh}}
| colspan="2" | {{key|Application Refresh}}
| colspan="2" | {{key|Application Refresh}}
| {{code|key.keyboard.ac.refresh}}
| {{code|key.keyboard.ac.refresh}}
|-
|-
! {{code|key.keyboard.ac.bookmarks}}{{upcoming|java 26.3}}
! {{code|key.keyboard.ac.bookmarks}}
| {{btn|AC Favorites}}
| {{btn|AC Favorites}}
| colspan="2" | {{key|Application Bookmarks}}
| colspan="2" | {{key|Application Bookmarks}}
| {{code|key.keyboard.ac.bookmarks}}
| {{code|key.keyboard.ac.bookmarks}}
|-
|-
! {{code|key.keyboard.power}}{{upcoming|java 26.3}}
! {{code|key.keyboard.power}}
| {{btn|Power}}
| {{btn|Power}}
| colspan="2" | {{key|Power}}
| colspan="2" | {{key|Power}}
| {{code|key.keyboard.power}}
| {{code|key.keyboard.power}}
|-
|-
! {{code|key.keyboard.sleep}}{{upcoming|java 26.3}}
! {{code|key.keyboard.sleep}}
| {{btn|Sleep}}
| {{btn|Sleep}}
| colspan="2" | {{key|Sleep}}
| colspan="2" | {{key|Sleep}}
| {{code|key.keyboard.sleep}}
| {{code|key.keyboard.sleep}}
|-
|-
! {{code|key.keyboard.wake}}{{upcoming|java 26.3}}
! {{code|key.keyboard.wake}}
| {{btn|Wake}}
| {{btn|Wake}}
| colspan="2" | {{key|Wake}}
| colspan="2" | {{key|Wake}}{{note|name=XFree86-disparity}}
| {{code|key.keyboard.wake}}
| {{code|key.keyboard.wake}}
|-
|-
! {{code|scancode.{{note|name="oldkeynumberid"|Two or three digit number representing operating system key ID}}}}{{until|java 26.3}}
! {{code|key.keyboard.alternate.erase}}
| {{btn|scancode.}}{{note|name="oldkeynumberid"}}
| {{btn|Alternate Erase}}
| colspan="2" | Keys with no assigned ID
| colspan="2" | {{note|name=XFree86-disparity}}
| {{code|scancode.{{note|name="oldkeynumberid"}}}}
| {{code|key.keyboard.alternate.erase}}
|-
|-
! {{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}}
! {{code|key.keyboard.channel.down}}
| {{btn|key.keyboard.}}{{note|name="newkeynumberid"}}
| {{btn|Channel Down}}
| colspan="2" | Keys with no assigned ID
| colspan="2" | {{note|name=channelproblem|Linux only, but not assignable as the game fails to recognise key presses above ID 247: {{bug|MC-311578}}}}
| {{code|key.keyboard.{{note|name="newkeynumberid"}}}}
| {{code|key.keyboard.channel.down}}
|-
! {{code|key.keyboard.channel.up}}
| {{btn|Channel Up}}
| colspan="2" | {{note|name=channelproblem}}
| {{code|key.keyboard.channel.up}}
|-
! {{code|key.keyboard.clear}}
| {{btn|Clear}}
| colspan="2" | {{note|name=247plus|Linux only, but not assignable as the game fails to recognise key presses above ID 247: {{bug|MC-311584}}}}
|
|-
! {{code|key.keyboard.mode}}
| {{btn|Mode}}
| colspan="2" | {{note|name=247plus}}{{note|Accidentally assignable in Linux - see {{bug|MC-310984}}}}
| {{code|key.keyboard.mode}}
|-
! {{code|key.keyboard.select}}
| {{btn|Select}}
| colspan="2" | {{note|name=247plus}}
| {{code|key.keyboard.select}}
|-
! {{code|key.keyboard.{{note|name="keynumberid"|Three digit number representing SDL3 key ID}}}}
| {{btn|key.keyboard.}}{{note|name="keynumberid"}}
| colspan="2" | Undefined key IDs
| {{code|key.keyboard.{{note|name="keynumberid"}}}}
|}
|}


==== Unused ====
==== 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.
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.
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}}
Keys such as Escape may warrant inclusion here. It may also be worth creating a table for accidentally-unassignable keys.
{| class="wikitable sortable" data-description="IDs of unused keys" style="margin-left:auto; margin-right:auto; text-align: center"
{| 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.}}
! ID{{note|The translation string is assumed to match unless stated otherwise.}}
Line 986: Line 994:
| This is a mobile phone button.<ref name="SDLmasterlist">https://wiki.libsdl.org/SDL3/SDL_Scancode</ref>
| This is a mobile phone button.<ref name="SDLmasterlist">https://wiki.libsdl.org/SDL3/SDL_Scancode</ref>
|-
|-
! {{code|key.keyboard.channel.down}}
! {{code|key.keyboard.clear.again}}
| {{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}}
| {{btn|Clear Again}}
|  
|  
Line 1,096: Line 1,092:
! {{code|key.keyboard.keypad.d}}
! {{code|key.keyboard.keypad.d}}
| {{btn|Keypad D}}
| {{btn|Keypad D}}
|
|-
! {{code|key.keyboard.keypad.decimal}}
| {{btn|Keypad Decimal}}
|  
|  
|-
|-
Line 1,217: Line 1,217:
| {{btn|Language 9}}
| {{btn|Language 9}}
|  
|  
|-
! {{code|key.keyboard.mode}}
| {{btn|Mode}}
| Accidentally assignable in Linux.<ref>{{bug|MC-310984}}</ref>
|-
|-
! {{code|key.keyboard.oper}}
! {{code|key.keyboard.oper}}
Line 1,232: Line 1,228:
! {{code|key.keyboard.prior}}
! {{code|key.keyboard.prior}}
| {{btn|Prior}}
| {{btn|Prior}}
|
|-
! {{code|key.keyboard.select}}
| {{btn|Select}}
|  
|  
|-
|-
Line 1,249: Line 1,241:
| {{btn|Soft Right}}
| {{btn|Soft Right}}
| This is a mobile phone button.<ref name="SDLmasterlist"/>
| 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}}
! {{code|key.keyboard.thousands.separator}}
| {{btn|Thousands Separator}}
| {{btn|Thousands Separator}}
|  
|  
|-
! {{code|key.keyboard.world.2}}
| {{btn|<nowiki>#</nowiki>}}
| {{code|key.keyboard.world.2}}{{note|name=world-key-translation}}
|}
|}


Line 1,262: Line 1,254:
Mouse buttons are handled as a signed 32-bit integer, meaning that through editing options.txt, values from {{code|key.mouse.-2147483648}} to {{code|key.mouse.2147483647}} can be specified without being rejected by the game as invalid.<ref>{{bug|MC-268286}}</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.
Mouse buttons are handled as a signed 32-bit integer, meaning that through editing options.txt, values from {{code|key.mouse.-2147483648}} to {{code|key.mouse.2147483647}} can be specified without being rejected by the game as invalid.<ref>{{bug|MC-268286}}</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.{{until|java 26.3}}
On Linux, mouse buttons up to 48 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.
 
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.
Line 1,338: Line 1,328:
| {{mouse|ninth}}
| {{mouse|ninth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.10}}
! {{code|key.mouse.10}}
Line 1,345: Line 1,335:
| {{mouse|tenth}}
| {{mouse|tenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.11}}
! {{code|key.mouse.11}}
Line 1,352: Line 1,342:
| {{mouse|eleventh}}
| {{mouse|eleventh}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.12}}
! {{code|key.mouse.12}}
Line 1,359: Line 1,349:
| {{mouse|twelfth}}
| {{mouse|twelfth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.13}}
! {{code|key.mouse.13}}
Line 1,366: Line 1,356:
| {{mouse|thirteenth}}
| {{mouse|thirteenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.14}}
! {{code|key.mouse.14}}
Line 1,373: Line 1,363:
| {{mouse|fourteenth}}
| {{mouse|fourteenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.15}}
! {{code|key.mouse.15}}
Line 1,380: Line 1,370:
| {{mouse|fifteenth}}
| {{mouse|fifteenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.16}}
! {{code|key.mouse.16}}
Line 1,387: Line 1,377:
| {{mouse|sixteenth}}
| {{mouse|sixteenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.17}}
! {{code|key.mouse.17}}
Line 1,394: Line 1,384:
| {{mouse|seventeenth}}
| {{mouse|seventeenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.18}}
! {{code|key.mouse.18}}
Line 1,401: Line 1,391:
| {{mouse|eighteenth}}
| {{mouse|eighteenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.19}}
! {{code|key.mouse.19}}
Line 1,408: Line 1,398:
| {{mouse|nineteenth}}
| {{mouse|nineteenth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.20}}
! {{code|key.mouse.20}}
Line 1,415: Line 1,405:
| {{mouse|twentieth}}
| {{mouse|twentieth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.21}}
! {{code|key.mouse.21}}
Line 1,422: Line 1,412:
| {{mouse|twenty-first}}
| {{mouse|twenty-first}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.22}}
! {{code|key.mouse.22}}
Line 1,429: Line 1,419:
| {{mouse|twenty-second}}
| {{mouse|twenty-second}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.23}}
! {{code|key.mouse.23}}
Line 1,436: Line 1,426:
| {{mouse|twenty-third}}
| {{mouse|twenty-third}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.24}}
! {{code|key.mouse.24}}
Line 1,443: Line 1,433:
| {{mouse|twenty-fourth}}
| {{mouse|twenty-fourth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.25}}
! {{code|key.mouse.25}}
Line 1,450: Line 1,440:
| {{mouse|twenty-fifth}}
| {{mouse|twenty-fifth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.26}}
! {{code|key.mouse.26}}
Line 1,457: Line 1,447:
| {{mouse|twenty-sixth}}
| {{mouse|twenty-sixth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.27}}
! {{code|key.mouse.27}}
Line 1,464: Line 1,454:
| {{mouse|twenty-seventh}}
| {{mouse|twenty-seventh}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.28}}
! {{code|key.mouse.28}}
Line 1,471: Line 1,461:
| {{mouse|twenty-eighth}}
| {{mouse|twenty-eighth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.29}}
! {{code|key.mouse.29}}
Line 1,478: Line 1,468:
| {{mouse|twenty-ninth}}
| {{mouse|twenty-ninth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.30}}
! {{code|key.mouse.30}}
Line 1,485: Line 1,475:
| {{mouse|thirtieth}}
| {{mouse|thirtieth}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.31}}
! {{code|key.mouse.31}}
Line 1,492: Line 1,482:
| {{mouse|thirty-first}}
| {{mouse|thirty-first}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.32}}
! {{code|key.mouse.32}}
Line 1,499: Line 1,489:
| {{mouse|thirty-second}}
| {{mouse|thirty-second}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.33}}
! {{code|key.mouse.33}}
Line 1,507: Line 1,497:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.34}}
! {{code|key.mouse.34}}
Line 1,514: Line 1,504:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.35}}
! {{code|key.mouse.35}}
Line 1,521: Line 1,511:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.36}}
! {{code|key.mouse.36}}
Line 1,528: Line 1,518:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.37}}
! {{code|key.mouse.37}}
Line 1,535: Line 1,525:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.38}}
! {{code|key.mouse.38}}
Line 1,542: Line 1,532:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.39}}
! {{code|key.mouse.39}}
Line 1,549: Line 1,539:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.40}}
! {{code|key.mouse.40}}
Line 1,556: Line 1,546:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.41}}
! {{code|key.mouse.41}}
Line 1,563: Line 1,553:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.42}}
! {{code|key.mouse.42}}
Line 1,570: Line 1,560:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.43}}
! {{code|key.mouse.43}}
Line 1,577: Line 1,567:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.44}}
! {{code|key.mouse.44}}
Line 1,584: Line 1,574:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.45}}
! {{code|key.mouse.45}}
Line 1,591: Line 1,581:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.46}}
! {{code|key.mouse.46}}
Line 1,598: Line 1,588:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.47}}
! {{code|key.mouse.47}}
Line 1,605: Line 1,595:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|-
|-
! {{code|key.mouse.48}}
! {{code|key.mouse.48}}
Line 1,612: Line 1,602:
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|No}}
! {{tc|Yes}}{{upcoming|java 26.3}}
! {{tc|Yes}}
|}
|}


Line 1,636: Line 1,626:
|-
|-
! {{code|3}}
! {{code|3}}
| {{btn|Button3|be=1}}{{note|Displayed the same as the middle mouse button.}}
| {{btn|Button3|be=1}}{{note|Displayed the same as the middle mouse button.}}<ref>{{bug|MCPE-242522}}</ref>
| {{key|Break}}
| {{key|Break}}{{note|requires Ctrl to be held before rebinding}}
|
|
|-
|-
Line 2,762: Line 2,752:
|{{HistoryLine||1.20|dev=pre2|Letter keys are now displayed in uppercase again.}}
|{{HistoryLine||1.20|dev=pre2|Letter keys are now displayed in uppercase again.}}
|{{HistoryLine|||dev=pre3|Controls that are not bound to anything now display "Not Bound".}}
|{{HistoryLine|||dev=pre3|Controls that are not bound to anything now display "Not Bound".}}
|{{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}}. Its translation string is purposefully retained in the game files for an unknown reason.<ref>{{bug|MC-311176}}</ref>
|Removed {{code|key.keyboard.f25}}. Its translation string is purposefully retained in the game files for an unknown reason.<ref>{{bug|MC-311176}}</ref>
Line 2,914: Line 2,903:


==== Removed keys ====
==== Removed keys ====
{{section needed|transfer F25 here when 26.3 comes out}}
{| class="wikitable sortable" data-description="Key codes that no longer exist" style="margin-left:auto; margin-right:auto; text-align: center"
! ID
! Displayed name
! colspan="2" | Physical key or button
! Translation key
|-
! {{code|key.keyboard.f25}}
| {{btn|F25}}
| colspan="2" | Unclear{{note|Ostensibly for a twenty-fifth function key, but Windows, Linux and presumably macOS only recognize up to F24. Some keyboards from decades past go past F24, and Arch Linux can apparently recognize up to F246, however it is unknown if Minecraft would recognize either of these.}}
| {{code|key.keyboard.f25}}
|}


== Notes ==
== Notes ==
Line 2,922: Line 2,921:
{{reflist}}
{{reflist}}


== Navigation ==
 
{{Navbox Java Edition technical|general}}
{{Navbox input}}
{{Navbox Bedrock Edition}}


[[Category:Gameplay]]
[[Category:Gameplay]]

Revision as of 11:25, 16 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

Template:For

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 recognizable 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

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.

ID Displayed name Physical key or button Translation keyTemplate:Note
Template:Code Template:Btn Unassigned, or unrecognised<ref>Template:Bug</ref> Template:Code
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Note
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key (ANSI) Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key (ISO) Template:CodeTemplate:Note
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:BtnTemplate:Verify Template:Key Template:Code
Template:Code Template:BtnTemplate:Verify Template:Key Template:Code
Template:Code Template:BtnTemplate:Verify Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Verify Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:BtnTemplate:Note Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Cannot be assignedTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Windows
Linux
Template:Key Template:Code
Template:Btn macOS Template:Key Template:Code
Template:Code Template:Btn<ref>Template:Bug</ref> Windows
Linux
Template:Key Template:Code
Template:Btn macOS Template:Key Template:Code
Template:Code Template:Btn Windows Template:Key Template:Code
Template:Btn macOS Template:Key Template:Code
Template:Btn Linux Template:Key Template:Code
Template:Code Template:Btn Windows Template:Key Template:Code
Template:Btn macOS Template:Key Template:Code
Template:Btn Linux Template:Key Template:Code
Template:Code<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: Template:Bug</ref> Template:Btn<ref name="genericintl"/> Windows/Linux Template:Key Template:Code<ref name="genericintl"/>
macOS Template:Key
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Windows/Linux Template:Key Template:Code<ref name="genericintl"/>
macOS Template:Key
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:KeyTemplate:Note Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key (JIS) / Template:Key (ABNT) Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="genericintl"/> Template:Btn<ref name="genericintl"/> Template:Key Template:Code<ref name="genericintl"/>
Template:Code<ref name="generic9800">Template:Bug</ref> Template:Btn<ref name="generic9800"/> Template:Key (PC-9800)Template:Note Template:Code<ref name="generic9800"/>
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key<ref>Template:Bug</ref> Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Note Template:Code
Template:Code Template:Btn Template:Note Template:Code
Template:Code Template:Btn Template:Note Template:Code
Template:Code Template:Btn Template:Note Template:Code
Template:Code Template:Btn Template:Note
Template:Code Template:Btn Template:NoteTemplate:Note Template:Code
Template:Code Template:Btn Template:Note Template:Code
Template:Code Template:BtnTemplate:Note Undefined key IDs Template:Code

Unused

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 Escape may warrant inclusion here. It may also be worth creating a table for accidentally-unassignable keys.

IDTemplate:Note Displayed name Notes
Template:Code Template:Btn
Template:Code Template:Btn This is a mobile phone button.<ref name="SDLmasterlist">https://wiki.libsdl.org/SDL3/SDL_Scancode</ref>
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn This is a mobile phone button.<ref name="SDLmasterlist"/>
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn
Template:Code Template:Btn This is a mobile phone button.<ref name="SDLmasterlist"/>
Template:Code Template:Btn This is a mobile phone button.<ref name="SDLmasterlist"/>
Template:Code Template:Btn
Template:Code Template:Btn Template:CodeTemplate:Note

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.

On Linux, mouse buttons up to 48 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.

ID Displayed name Description Usable on
Windows macOS Linux
Template:CodeTemplate:Note Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:CodeTemplate:Note Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:CodeTemplate:Note Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc
Template:Code Template:Btn Template:Mouse Template:Tc Template:Tc Template:Tc

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.

ID Displayed name Physical key or button Translation key
Template:Code Template:Btn Not Bound Template:Info needed
Template:Code Template:BtnTemplate:Note<ref>Template:Bug</ref> Template:KeyTemplate:Note
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key / Template:Key Template:Code
Template:Code Template:Btn Template:Key / Template:Key Template:Code
Template:Code Template:Btn Template:Key / Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Verify / Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key / Template:KeyTemplate:Verify
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Cannot be assignedTemplate:Note Template:Code
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key / Template:Key / Template:Key
Template:Code Template:Btn Template:Key / Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:More info
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:KeyTemplate:Info needed Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn Template:Key Template:Code
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn Template:Key
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn Template:Info needed
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn OEM-SpecificTemplate:Note
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn Template:Key
Template:Code Template:Btn All unknown keys

Mouse codes

Template:Info needed section Mouse buttons are represented by negative numbers.

ID Displayed name Description
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse
Template:Code Template:Btn Template:Mouse

Controller codes

Template:Info needed section

ID Display Description
Template:OS Template:OS Template:OS
Template:OS Template:OS
Template:Code Not Bound
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont A
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont B
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont X
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Y
Template:Code Template:Ore UI Cont Template:Ore UI Cont/Template:Ore UI Cont Template:Ore UI Cont D-Pad Up
Template:Code Template:Ore UI Cont Template:Ore UI Cont/Template:Ore UI Cont Template:Ore UI Cont D-Pad Down
Template:Code Template:Ore UI Cont Template:Ore UI Cont/Template:Ore UI Cont Template:Ore UI Cont D-Pad Left
Template:Code Template:Ore UI Cont Template:Ore UI Cont/Template:Ore UI Cont Template:Ore UI Cont D-Pad Right
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Stick Click
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Right Stick Click
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Bumper
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Right Bumper
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Select
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Menu
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Stick Down
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Stick Right
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Stick Left
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Stick Up
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Left Trigger
Template:Code Template:Ore UI Cont Template:Ore UI Cont Template:Ore UI Cont Right Trigger

History

Java Edition

Template:HistoryTable

Removed keys

ID Displayed name Physical key or button Translation key
Template:Code Template:Btn UnclearTemplate:Note Template:Code

Notes

Template:Notelist

References

Template:Reflist


Template:Navbox input

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:键控代码