English help on website



keypressedex( n1 ) 関数(Ver9.35対応版)
目次関数(その他関数)− keypressedex( n1 ) 関数
keypressedex関数は、キーが押されたかどうかを返すkeypressedキーワードの拡張版です。(V8.88以降)
disablebreakされた状態でのみ利用可能です。
パラメータ1(数値型)
取得する方法を指定します。
0を指定する場合は、keypressedキーワードと同じ仮想キーコードを取得します。
1を指定する場合は、仮想キーコードではなく、char関数に相当する文字コードを取得します。
例外的に、矢印キーについては、inputcharと同様の秀丸エディタ独自のコードを取得します。
例外的に、矢印キー以外の0x20未満の値についてはkeypressedキーワードと同じ仮想キーコードを取得します。(Escキーなどを取得するため)

返り値(数値型)
仮想キーコードまたは、文字コードを返します。


パラメータ1に0を指定する場合、押されたキーの仮想キーコードを返します。
newfile;
disablebreak;
insert "Escキーで終わります\n";
while( 1 ) {
  #c = keypressedex(0);
  if(#c==0x1B){//Esc
    break;
  }
  if(#c==0x31){//1キー
    insert "1キー\n";
  }
  if(#c==0x10){//Shiftキー VK_SHIFT
    insert "Shiftキー\n";
  }
}
パラメータ1に1を指定する場合、例えばShift+1キーでキーボードによっては"!"になりますが、"!"に相当する0x21が取得できます。
newfile;
disablebreak;
insert "Escキーで終わります\n";
while( 1 ) {
  #c = keypressedex(1);
  if(#c==0x1B){//Esc
    break;
  }
  if(#c==0x31){//'1'
    insert "1という文字\n";
  }
  if(#c==0x21){//'!'
    insert "!という文字\n";
  }
}
参照:
iskeydown  inputchar  keypressed