ホーム·キーコード

キー120個のcodeとkeyCode

KeyboardEventから出てくる値です。codeは自板の位置なので言語で変わらず、keyはその瞬間に打たれる文字なので配列ごとに変わります。

codeとkeyの違い

codeは自板の位置なので、ハングル配列でもフランス語配列でも同じ値です。keyはその瞬間に打たれる文字なので変わります——同じ場所を押してもa・A・ㅁになります。「どの場所を押したか」ならcode、「何が入ったか」ならkeyです。

keyCodeは標準から外れた値です。新しく書くコードではcodeかkeyを使い、ここの数字は古いコードを読むときに使ってください。

文字26

位置はKeyAで固定です。ハングル配列でㅁが打たれてもcodeはKeyAのままです。

数字10

数字の段です。テンキーの同じ数字とはkeyCodeが違います。

記号12

keyCodeがブラウザごとに分かれるのがこの辺りです。

テンキー16

locationが3なので数字の段と区別できます。

ファンクション20

F1が112、F2が113…と順に続きます。

移動8

文字を打たず、カーソルだけ動かします。

編集6

消す・入れる・行を変えるキーです。

修飾キー8

単独では何もせず、他のキーに乗ります。左右が同じkeyCodeです。

ロック3

一度押すと状態が変わったまま残ります。

システム4

ウィンドウと画面を扱うキーです。

入力方式7

入力方式を切り替えるキー——ハングル、漢字、日本語の変換がここです。

読み方

  • codeは位置、keyは打たれる文字です。ショートカットはcodeで比べます。
  • keyCodeは非推奨です。古いコードを読むときだけ使ってください。
  • 左右のShiftはkeyCodeが同じで、locationで分かれます。
  • 数字段の1とテンキーの1は別のキーです——49と97です。

よくある質問

Q. codeとkeyのどちらを使うべきですか?

ショートカットのように場所を捉えるならcode、何が入力されたかを知るならkeyです。codeは配列が変わってもそのままです。

Q. keyCodeを避けるのはなぜですか?

標準から外れており、ブラウザごとに値が食い違うからです。特に記号キーでそうです。

Q. Enterのキーコードは?

keyCodeは13、codeはEnterです。テンキーのEnterはcodeがNumpadEnterですが、keyCodeは同じ13です。

Q. 左右のShiftはどう見分けますか?

keyCodeはどちらも16で見分けられません。code(ShiftLeft・ShiftRight)かlocation(1・2)を見てください。

Q. ハングル配列でもcodeは同じですか?

同じです。ㅁが打たれる場所を押してもcodeはKeyAです——場所を指す値だからです。