アプリ版:「スタンプのみでお礼する」機能のリリースについて

javascript 押したキーのキーコードを取得していますが、キーコードについて疑問があります。

キーコードは、どのキーボードからでも取得値は共通の値になるのでしょうか?

というのも、キーコードを紹介しているサイトで、サイトによって、それぞれ値が違う部分があるのですが、これは、なぜなんでしょうか? やはりキーボードによって異なるのでしょうか? だいたいのキーコードは同じですが、一部が違います。

例えば、2つのサイトで
http://shanabrian.com/web/javascript/keycode.php

http://faq.creasus.net/04/0131/CharCode.html

[Esc]キーのキーコードは、一方では243 で、もう一方では、27 と紹介されています。
[ ; ]キー(セミコロン)は、一方では、59でもう一方では、187と紹介されています。他にもいくつかあります。

今回質問する前提には、
ひらがな入力で画面に表示したフレーズをタイピングするタイピング練習のようなもの作っているのですが、キーボードによってキーコードが異なるとなると、キーボードの種類を取得して、それに対応するキーコードとひらがなを配列にまとめてみたいなことを考えていたのですが、・・・やはり、これって無理なんでしょうかね。 もしくはやり方がおかしいのかもしれないですけど・・・

A 回答 (1件)

キーボードというものは、言語とか機種とか入力方式とかによって様々な種類が存在し、当然キーコードもキーボードごとに異なります。


キーボードの接続先システムでも、使用している文字セットの種類によって、同じキーでも別のコードに変換されることすらあります。

Web ブラウザで取得する keyCode は、ある程度その違いを吸収したものですが、
それでも「システムと実装に依存した数値コード」であるので、mozilla では非推奨となっています。
https://developer.mozilla.org/en-US/docs/Web/API …

もし動作対象のブラウザが比較的新しいソフトだけに限定してよいならば、
keyCode の代わりに key または code の利用をご検討ください。
https://developer.mozilla.org/en-US/docs/Web/API …
https://developer.mozilla.org/en-US/docs/Web/API …
    • good
    • 1
この回答へのお礼

ありがとうござまいす。あまり詳しいことを調べることができなかったので大変参考になりました。

お礼日時:2017/07/22 00:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!