キー120個のcodeとkeyCode
KeyboardEventから出てくる値です。codeは自板の位置なので言語で変わらず、keyはその瞬間に打たれる文字なので配列ごとに変わります。
codeとkeyの違い
codeは自板の位置なので、ハングル配列でもフランス語配列でも同じ値です。keyはその瞬間に打たれる文字なので変わります——同じ場所を押してもa・A・ㅁになります。「どの場所を押したか」ならcode、「何が入ったか」ならkeyです。
keyCodeは標準から外れた値です。新しく書くコードではcodeかkeyを使い、ここの数字は古いコードを読むときに使ってください。
文字26
位置はKeyAで固定です。ハングル配列でㅁが打たれてもcodeはKeyAのままです。
KeyA"a"65KeyB"b"66KeyC"c"67KeyD"d"68KeyE"e"69KeyF"f"70KeyG"g"71KeyH"h"72KeyI"i"73KeyJ"j"74KeyK"k"75KeyL"l"76KeyM"m"77KeyN"n"78KeyO"o"79KeyP"p"80KeyQ"q"81KeyR"r"82KeyS"s"83KeyT"t"84KeyU"u"85KeyV"v"86KeyW"w"87KeyX"x"88KeyY"y"89KeyZ"z"90
数字10
数字の段です。テンキーの同じ数字とはkeyCodeが違います。
Digit0"0"48Digit1"1"49Digit2"2"50Digit3"3"51Digit4"4"52Digit5"5"53Digit6"6"54Digit7"7"55Digit8"8"56Digit9"9"57
記号12
keyCodeがブラウザごとに分かれるのがこの辺りです。
Semicolon";"186Equal"="187Comma","188Minus"-"189Period"."190Slash"/"191Backquote"`"192BracketLeft"["219Backslash"\"220BracketRight"]"221Quote"'"222IntlBackslash"\"226
テンキー20
locationが3なので数字の段と区別できます。
Numpad0"0"96Numpad1"1"97Numpad2"2"98Numpad3"3"99Numpad4"4"100Numpad5"5"101Numpad6"6"102Numpad7"7"103Numpad8"8"104Numpad9"9"105NumpadAdd"+"107NumpadSubtract"-"109NumpadMultiply"*"106NumpadDivide"/"111NumpadDecimal"."110NumpadEnterEnter13NumpadEqual"="12NumpadComma","194NumpadParenLeft"("0NumpadParenRight")"0
ファンクション24
F1が112、F2が113…と順に続きます。
F1F1112F2F2113F3F3114F4F4115F5F5116F6F6117F7F7118F8F8119F9F9120F10F10121F11F11122F12F12123F13F13124F14F14125F15F15126F16F16127F17F17128F18F18129F19F19130F20F20131F21F21132F22F22133F23F23134F24F24135
移動8
文字を打たず、カーソルだけ動かします。
ArrowUpArrowUp38ArrowDownArrowDown40ArrowLeftArrowLeft37ArrowRightArrowRight39HomeHome36EndEnd35PageUpPageUp33PageDownPageDown34
編集16
消す・入れる・行を変えるキーです。
EnterEnter13TabTab9Space"Space"32BackspaceBackspace8DeleteDelete46InsertInsert45UndoUndo0CutCut0CopyCopy0PastePaste0AgainAgain0FindFind0HelpHelp47SelectSelect41OpenOpen43PropsProps0
修飾キー9
単独では何もせず、他のキーに乗ります。左右が同じkeyCodeです。
ShiftLeftShift16ShiftRightShift16ControlLeftControl17ControlRightControl17AltLeftAlt18AltRightAlt18MetaLeftMeta91MetaRightMeta92FnFn0
ロック3
一度押すと状態が変わったまま残ります。
CapsLockCapsLock20NumLockNumLock144ScrollLockScrollLock145
システム24
ウィンドウと画面を扱うキーです。
EscapeEscape27PrintScreenPrintScreen44PausePause19ContextMenuContextMenu93AudioVolumeMuteAudioVolumeMute173AudioVolumeDownAudioVolumeDown174AudioVolumeUpAudioVolumeUp175MediaTrackNextMediaTrackNext176MediaTrackPreviousMediaTrackPrevious177MediaStopMediaStop178MediaPlayPauseMediaPlayPause179LaunchMailLaunchMail180LaunchApp2LaunchApp2183LaunchApp1LaunchApp1182BrowserBackBrowserBack166BrowserForwardBrowserForward167BrowserRefreshBrowserRefresh168BrowserStopBrowserStop169BrowserSearchBrowserSearch170BrowserFavoritesBrowserFavorites171BrowserHomeBrowserHome172PowerPower0SleepSleep95WakeUpWakeUp0
入力方式7
入力方式を切り替えるキー——ハングル、漢字、日本語の変換がここです。
Lang1HangulMode21Lang2HanjaMode25ConvertConvert28NonConvertNonConvert29KanaModeKanaMode21IntlRo"\"193IntlYen"\"255
読み方
- codeは位置、keyは打たれる文字です。ショートカットはcodeで比べます。
- keyCodeは非推奨です。古いコードを読むときだけ使ってください。
- 左右のShiftはkeyCodeが同じで、locationで分かれます。
- 数字段の1とテンキーの1は別のキーです——49と97です。
よくある質問
Qcodeとkeyのどちらを使うべきですか?
ショートカットのように場所を捉えるならcode、何が入力されたかを知るならkeyです。codeは配列が変わってもそのままです。
QkeyCodeを避けるのはなぜですか?
標準から外れており、ブラウザごとに値が食い違うからです。特に記号キーでそうです。
QEnterのキーコードは?
keyCodeは13、codeはEnterです。テンキーのEnterはcodeがNumpadEnterですが、keyCodeは同じ13です。
Q左右のShiftはどう見分けますか?
keyCodeはどちらも16で見分けられません。code(ShiftLeft・ShiftRight)かlocation(1・2)を見てください。
Qハングル配列でもcodeは同じですか?
同じです。ㅁが打たれる場所を押してもcodeはKeyAです——場所を指す値だからです。