SSブログ

HIDキーボード(もどき)プログラムで機能アップ [USB]

P1010002.jpg従来型は大文字が有っても小文字に変換されてしまったので、今度は大文字、小文字を区別するように改造しました。改造したプログラムだけ掲載します。


/****************************************************************************/
/* 英字の大文字/小文字に対応した文字列を送信する処理                        */
/* 今度はバッファリングしていないので、最大長の制限無し                     */
/****************************************************************************/
void Str2PC2( const char *str )
{
  int i;
  unsigned char code,shift;
  char old;

  (void)memset( &KbBuffer[0], 0, 8 );  /*一度バッファ全てをクリアする*/

  for( i = strlen( str ), old = 0; i > 0; )
  {
    if( search_from_tbl( &code, &shift, *str ) == 0 )  /*該当コードが見つかった時*/
    {
      wait();
      if( code != old )  /*前回と異なる時*/
      {
        if( shift != 0 ) KbBuffer[ 0 ] |= LEFT_SHIFT;
        else KbBuffer[ 0 ] &= ~LEFT_SHIFT;

        KbBuffer[ 2 ] = code;
        str++;
        i--;
      }
      else
      {
        KbBuffer[ 0 ] = 0;
        KbBuffer[ 2 ] = 0;
      }
      old = KbBuffer[ 2 ];  /*送信したデータを記憶して置く*/
    }
    else
    {
      str++;  /*該当コードが見つからない時*/
      i--;
    }
  }

  wait();
  KbBuffer[ 0 ] = 0;
  KbBuffer[ 2 ] = 0;
}

送信した元文字は以下の通り
static const char abc[] = "AaBbCcDdefghijklmnOPQRSTUVWXYZ\r";
hid_apli_result_003.png左はその結果です。取り敢えずOKと言う事で。



※キーボードデバイスのデバックはなかなかスリリングです。止せば良いのに、開発機と実験機が同じな為、キーボードデバイスのプログラムを失敗して暴走すると、判っていても思うようにキーが効かないとか、全然入力できなかったりとか、、、本当に止せば良いのですけれどね(*´ー`) 。
さあ!皆さんもJB8、JB16ボードで是非スリリングな体験をしてみましょう。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。