Java Edition untranslated keys

Minecraft Wiki article. Categories: Java_Edition, In_development, In_development_Java_Edition, Information_needed, Unknown_Java_version_history, Java_Edition_upcoming

📌 Mirrored from Minecraft Wiki

This article is reproduced from Java Edition untranslated keys on the Minecraft Wiki. Mirrored from revision 3719447. It is licensed CC BY-NC-SA 3.0 by the Minecraft Wiki contributors — not under the Codex’s CC BY-SA 4.0, and it may not be used commercially. Edits belong upstream, not here.

This feature is exclusive to Java Edition.
 
This article describes content that is currently in development for Java Edition.
 
This content has appeared in development versions for Java Edition, but the full update adding it has not been released yet.

This page is a list of keyboard keys that can have game controls bound to them in Java Edition, but do not have a name or ID (i.e. non-placeholder key codes) properly assigned to them.

Recognised as distinct

For Linux, the correspondence between evdev codes and SDL3 codes is mostly dictated by this document. However, there are some exceptions:​[more information needed]

  • KEY_KPCOMMA should map to SDL_SCANCODE_KP_COMMA, but instead is recognised as SDL_SCANCODE_KP_PERIOD[1]
  • KEY_ZENKAKUHANKAKU and unnamed key 195 both map to SDL_SCANCODE_MODE, despite the former being defined as mapping to SDL_SCANCODE_LANG5 and the latter being left as "Unknown"[2]
  • KEY_MUHENKAN and KEY_KPJPCOMMA should both map to SDL_SCANCODE_INTERNATIONAL5, but only the former appears to do this, with the latter instead binding to "Not Bound"[3]
  • KEY_STOP should map to SDL_SCANCODE_STOP, but instead binds to SDL_SCANCODE_CANCEL, resulting in a conflict with KEY_CANCEL[4]
Minecraft key name SDL3 scancode ID evdev (Linux/FreeBSD) Windows Ticket
ID Key name ID Key name
key.keyboard.102 SDL_SCANCODE_POWER 116 KEY_POWER[note 1] MC-310991
key.keyboard.135 SDL_SCANCODE_INTERNATIONAL1 89 KEY_RO MC-310944
key.keyboard.136 SDL_SCANCODE_INTERNATIONAL2 93 KEY_KATAKANAHIRAGANA MC-310944
key.keyboard.137 SDL_SCANCODE_INTERNATIONAL3 124 KEY_YEN MC-310944
key.keyboard.138 SDL_SCANCODE_INTERNATIONAL4 92 KEY_HENKAN MC-310944
key.keyboard.139 SDL_SCANCODE_INTERNATIONAL5 94 KEY_MUHENKAN MC-310944
key.keyboard.144 SDL_SCANCODE_LANG1 122 KEY_HANGUEL MC-310944
key.keyboard.145 SDL_SCANCODE_LANG2 123 KEY_HANJA MC-310944
key.keyboard.146 SDL_SCANCODE_LANG3 90 KEY_KATAKANA MC-310944
key.keyboard.147 SDL_SCANCODE_LANG4 91 KEY_HIRAGANA MC-310944
key.keyboard.155 SDL_SCANCODE_CANCEL 128 KEY_STOP MC-311035
key.keyboard.155 SDL_SCANCODE_CANCEL 223 KEY_CANCEL MC-311035
key.keyboard.257 SDL_SCANCODE_MODE 85 KEY_ZENKAKUHANKAKU MC-310944
key.keyboard.257 SDL_SCANCODE_MODE 195 MC-310984
key.keyboard.258 SDL_SCANCODE_SLEEP 142 KEY_SLEEP MC-310991
key.keyboard.259 SDL_SCANCODE_WAKE 143 KEY_WAKEUP MC-310991
key.keyboard.262 SDL_SCANCODE_MEDIA_PLAY 200 KEY_PLAYCD MC-310116
key.keyboard.262 SDL_SCANCODE_MEDIA_PLAY 207 KEY_PLAY MC-310116
key.keyboard.263 SDL_SCANCODE_MEDIA_PAUSE 201 KEY_PAUSECD MC-310116
key.keyboard.264 SDL_SCANCODE_MEDIA_RECORD 167 KEY_RECORD MC-310116
key.keyboard.265 SDL_SCANCODE_MEDIA_FAST_FORWARD 208 KEY_FASTFORWARD MC-310116
key.keyboard.266 SDL_SCANCODE_MEDIA_REWIND 168 KEY_REWIND MC-310116
key.keyboard.267 SDL_SCANCODE_MEDIA_NEXT_TRACK 163 KEY_NEXTSONG MC-310116
key.keyboard.268 SDL_SCANCODE_MEDIA_PREVIOUS_TRACK 165 KEY_PREVIOUSSONG MC-310116
key.keyboard.269 SDL_SCANCODE_MEDIA_STOP 166 KEY_STOPCD MC-310116
key.keyboard.270 SDL_SCANCODE_MEDIA_EJECT 161 KEY_EJECTCD MC-310116
key.keyboard.270 SDL_SCANCODE_MEDIA_EJECT 162 KEY_EJECTCLOSECD MC-310116
key.keyboard.272 SDL_SCANCODE_MEDIA_SELECT 226 KEY_MEDIA MC-310116
key.keyboard.274 SDL_SCANCODE_AC_OPEN 134 KEY_OPEN MC-311010
key.keyboard.275 SDL_SCANCODE_AC_CLOSE 206 KEY_CLOSE MC-311010
key.keyboard.276 SDL_SCANCODE_AC_EXIT 174 KEY_EXIT MC-311010
key.keyboard.279 SDL_SCANCODE_AC_PROPERTIES 130 KEY_PROPS MC-311010
key.keyboard.280 SDL_SCANCODE_AC_SEARCH 217 KEY_SEARCH MC-311010
key.keyboard.281 SDL_SCANCODE_AC_HOME 172 KEY_HOMEPAGE MC-311010
key.keyboard.282 SDL_SCANCODE_AC_BACK 158 KEY_BACK MC-311010
key.keyboard.283 SDL_SCANCODE_AC_FORWARD 159 KEY_FORWARD MC-311010
key.keyboard.285 SDL_SCANCODE_AC_REFRESH 173 KEY_REFRESH MC-311010
key.keyboard.286 SDL_SCANCODE_AC_BOOKMARKS 156 KEY_BOOKMARKS MC-311010
key.keyboard.116 SDL_SCANCODE_EXECUTE
key.keyboard.119 SDL_SCANCODE_SELECT
key.keyboard.134 SDL_SCANCODE_EQUALSAS400
key.keyboard.140 SDL_SCANCODE_INTERNATIONAL6
key.keyboard.141 SDL_SCANCODE_INTERNATIONAL7
key.keyboard.142 SDL_SCANCODE_INTERNATIONAL8
key.keyboard.143 SDL_SCANCODE_INTERNATIONAL9
key.keyboard.148 SDL_SCANCODE_LANG5
key.keyboard.149 SDL_SCANCODE_LANG6
key.keyboard.150 SDL_SCANCODE_LANG7
key.keyboard.151 SDL_SCANCODE_LANG8
key.keyboard.152 SDL_SCANCODE_LANG9
key.keyboard.153 SDL_SCANCODE_ALTERASE
key.keyboard.154 SDL_SCANCODE_SYSREQ
key.keyboard.156 SDL_SCANCODE_CLEAR
key.keyboard.157 SDL_SCANCODE_PRIOR
key.keyboard.158 SDL_SCANCODE_RETURN2
key.keyboard.159 SDL_SCANCODE_SEPARATOR
key.keyboard.160 SDL_SCANCODE_OUT
key.keyboard.161 SDL_SCANCODE_OPER
key.keyboard.162 SDL_SCANCODE_CLEARAGAIN
key.keyboard.163 SDL_SCANCODE_CRSEL
key.keyboard.164 SDL_SCANCODE_EXSEL
key.keyboard.176 SDL_SCANCODE_KP_00
key.keyboard.177 SDL_SCANCODE_KP_000
key.keyboard.178 SDL_SCANCODE_THOUSANDSSEPARATOR
key.keyboard.179 SDL_SCANCODE_DECIMALSEPARATOR
key.keyboard.180 SDL_SCANCODE_CURRENCYUNIT
key.keyboard.181 SDL_SCANCODE_CURRENCYSUBUNIT
key.keyboard.184 SDL_SCANCODE_KP_LEFTBRACE
key.keyboard.185 SDL_SCANCODE_KP_RIGHTBRACE
key.keyboard.186 SDL_SCANCODE_KP_TAB
key.keyboard.187 SDL_SCANCODE_KP_BACKSPACE
key.keyboard.188 SDL_SCANCODE_KP_A
key.keyboard.189 SDL_SCANCODE_KP_B
key.keyboard.190 SDL_SCANCODE_KP_C
key.keyboard.191 SDL_SCANCODE_KP_D
key.keyboard.192 SDL_SCANCODE_KP_E
key.keyboard.193 SDL_SCANCODE_KP_F
key.keyboard.194 SDL_SCANCODE_KP_XOR
key.keyboard.195 SDL_SCANCODE_KP_POWER
key.keyboard.196 SDL_SCANCODE_KP_PERCENT
key.keyboard.197 SDL_SCANCODE_KP_LESS
key.keyboard.198 SDL_SCANCODE_KP_GREATER
key.keyboard.199 SDL_SCANCODE_KP_AMPERSAND
key.keyboard.200 SDL_SCANCODE_KP_DBLAMPERSAND
key.keyboard.201 SDL_SCANCODE_KP_VERTICALBAR
key.keyboard.202 SDL_SCANCODE_KP_DBLVERTICALBAR
key.keyboard.203 SDL_SCANCODE_KP_COLON
key.keyboard.204 SDL_SCANCODE_KP_HASH
key.keyboard.205 SDL_SCANCODE_KP_SPACE
key.keyboard.206 SDL_SCANCODE_KP_AT
key.keyboard.207 SDL_SCANCODE_KP_EXCLAM
key.keyboard.208 SDL_SCANCODE_KP_MEMSTORE
key.keyboard.209 SDL_SCANCODE_KP_MEMRECALL
key.keyboard.210 SDL_SCANCODE_KP_MEMCLEAR
key.keyboard.211 SDL_SCANCODE_KP_MEMADD
key.keyboard.212 SDL_SCANCODE_KP_MEMSUBTRACT
key.keyboard.213 SDL_SCANCODE_KP_MEMMULTIPLY
key.keyboard.214 SDL_SCANCODE_KP_MEMDIVIDE
key.keyboard.216 SDL_SCANCODE_KP_CLEAR
key.keyboard.217 SDL_SCANCODE_KP_CLEARENTRY
key.keyboard.218 SDL_SCANCODE_KP_BINARY
key.keyboard.219 SDL_SCANCODE_KP_OCTAL
key.keyboard.221 SDL_SCANCODE_KP_HEXADECIMAL
key.keyboard.260 SDL_SCANCODE_CHANNEL_INCREMENT
key.keyboard.261 SDL_SCANCODE_CHANNEL_DECREMENT
key.keyboard.278 SDL_SCANCODE_AC_PRINT
key.keyboard.284 SDL_SCANCODE_AC_STOP

Does not bind correctly

Several controls, rather than being bound to distinct controls, will instead display "Not Bound" rather than being assigned a proper, unique key bind.

evdev (Linux/FreeBSD)

evdev ID evdev names
095 KEY_KPJPCOMMA
101 KEY_LINEFEED
112 KEY_MACRO
132 KEY_FRONT
140 KEY_CALC
141 KEY_SETUP
144 KEY_FILE
145 KEY_SENDFILE
146 KEY_DELETEFILE
147 KEY_XFER
148 KEY_PROG1
149 KEY_PROG2
150 KEY_WWW
151 KEY_MSDOS
152 KEY_SCREENLOCK
153 KEY_DIRECTION
154 KEY_CYCLEWINDOWS
155 KEY_MAIL
157 KEY_COMPUTER
160 KEY_CLOSECD
169 KEY_PHONE
170 KEY_ISO
175 KEY_MOVE
176 KEY_EDIT
177 KEY_SCROLLUP
178 KEY_SCROLLDOWN
196 undefined
197 undefined
198 undefined
199 undefined
202 KEY_PROG3
203 KEY_PROG4
204 KEY_DASHBOARD
205 KEY_SUSPEND
209 KEY_BASSBOOST
211 KEY_HP
212 KEY_CAMERA
213 KEY_SOUND
214 KEY_QUESTION
215 KEY_EMAIL
216 KEY_CHAT
218 KEY_CONNECT
219 KEY_FINANCE
220 KEY_SPORT
221 KEY_SHOP
222 KEY_ALTERASE
224 KEY_BRIGHTNESSDOWN
225 KEY_BRIGHTNESSUP
227 KEY_SWITCHVIDEOMODE
228 KEY_KBDILLUMTOGGLE
229 KEY_KBDILLUMDOWN
230 KEY_KBDILLUMUP
231 KEY_SEND
232 KEY_REPLY
233 KEY_FORWARDMAIL
235 KEY_DOCUMENTS
236 KEY_BATTERY
237 KEY_BLUETOOTH
238 KEY_WLAN
239 KEY_UWB
240 KEY_UNKNOWN
243 KEY_BRIGHTNESS_CYCLE
244 KEY_BRIGHTNESS_AUTO
245 KEY_DISPLAY_OFF
246 KEY_WWAN
247 KEY_RFKILL

History

Java Edition
1.13?Keys with no assigned ID are called scancode.###.
Upcoming Java Edition
26.3snap4Valid but undefined key codes have been changed from scancode.### to key.keyboard.###.
snap7Several formerly untranslated keys now have proper IDs.
An incomplete list is as follows:
  • key.keyboard.127 --> key.keyboard.mute
  • key.keyboard.129 --> key.keyboard.volume.down
  • key.keyboard.128 --> key.keyboard.volume.up
  • key.keyboard.122 --> key.keyboard.undo
  • key.keyboard.121 --> key.keyboard.again
  • key.keyboard.124 --> key.keyboard.copy
  • key.keyboard.125 --> key.keyboard.paste
  • key.keyboard.117 --> key.keyboard.help
  • key.keyboard.123 --> key.keyboard.cut
  • key.keyboard.126 --> key.keyboard.find
  • key.keyboard.271 --> key.keyboard.media.play.pause
  • key.keyboard.273 --> key.keyboard.new
  • key.keyboard.277 --> key.keyboard.save

Notes

  1. ↑ This only appears to be passed to applications correctly in X11; Wayland only appears to register the initial press, and does not register the release nor subsequent presses

References

Sources