前提・実現したいこと
趣味で親指シフトのタイピングゲームを作っています。Javascript+HTMLです。
キーボードイベントのonkeydownとonkeyupから、key(またはcode)を取得してゲームを動かしています。
現在、Windows向けに作ったゲームをmacにも対応させたいと考え、
mac OS/safariで、macキーボードから入力→keyを確認していました。
発生している問題
「英数」「かな」キーのonkeydownが取得できず困っています。
取得テストで使っているコードです(簡略化)↓
js
1<script> 2var keyProps = ["key","code"]; 3 4function getProps(evt){ 5 var result = {}; 6 for(i=0, len=keyProps.length; i<len; i++){ 7 result[ keyProps[i] ] = evt[ keyProps[i] ]; 8 } 9 return result; 10} 11 12document.onkeydown = function(evt){ 13 var props = getProps(evt); 14 console.log("down"); 15 console.log(props); 16 evt.preventDefault(); 17}; 18 19document.onkeyup = function(evt){ 20 var props = getProps(evt); 21 console.log("up"); 22 console.log(props); 23 evt.preventDefault(); 24}; 25</script> 26 27//「英数」を押して離す→ down 発生しない/up key: ,code:Lang2 28//「かな」を押して離す→ down 発生しない/up key: ,code:KanaMode
お聞きしたいこと
このonkeydownは取得できない仕様なのでしょうか?
だとしたら、他に「かな」「英数」が押下されたと分かる方法はありますか?
追記
このページを読みましたが、「かな」「英数」の動作については書かれていないようです。
KeyboardEvent - Web API | MDN
検索しても中々思うような情報にヒットせず、代替手段があるものかどうかも見当が付きません。。
お分かりの方いらっしゃいましたら、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。