(C)WorldWideSoftware

<!DOCTYPE html>
<html lang="ja">
 <head>
  <style>
  td { width:40px; height:30px; border:1px solid; font-size:16px; text-align:center; }
  </style>
  <meta charset="utf-8">
  <title>JavaScriptでの同時キー入力</title>
 </head>
 <body>
 <table id="myTbl"></table>
  <a href="http://www.wwsft.com">(C)WorldWideSoftware</a><br>
【説明】<br>
JavaScriptでの同時キー入力を実現するソースコードです<br>
key[256]という配列を用意し、キーが押された時にkey[キーコード]をカウントアップします<br>
キーを放した時はkey[キーコード]を 0 にします<br>
key[n]の値が 1以上であれば、そのキーが押されていると判断できます<br>
複数のキーを同時に押して、値の変化をご確認下さい<br>
<a href="key00src.html">ソースコードの確認</a>

  <script>
  //キー値を表示するテーブルを作る
  var keyCol = [];
  var tbl = document.getElementById("myTbl");
  for(var y=0; y<16; y++) {
   var row = tbl.insertRow(-1);
   for(var x=0; x<16; x++) {
    keyCol[x+y*16] = row.insertCell(-1);
   }
  }

  //キー入力
  var key = [];
  for(var i=0; i<256; i++) key[i] = 0;
  window.onkeydown = function(event) { key[event.keyCode]++; }
  window.onkeyup = function(event) { key[event.keyCode] = 0; }

  //キー値を表示する処理
  function mainProc() {
   var n, x, y;
   for(y=0; y<16; y++) {
    for(x=0; x<16; x++) {
     n = x + y*16;
     keyCol[n].textContent = key[n];//テーブルにキーの値を表示
    }
   }
  }

  setInterval( mainProc, 100 );//処理をスタート
  </script>
 </body>
</html>

←動作確認に戻る