Bubble, bubble, toil and cuddle !!!

April 17, 2021
XML
カテゴリ: 作りモノ
今日は雨時々曇り。

午前中は曇りやったので、散髪に行きました。今日は珍しくおばちゃんに刈ってもらいました。頭スッキリ。
---

Raspberry Pi Pico の USB ホストモードで USB キーボードを接続した ので、USBキーボードからのキー入力を扱うにはどうしたらいいのか、何となく雰囲気はつかめました。っちゅうことで、 前に作ったスペースマウスもどきの"DROPPING MONSTERS" をUSBキーボードで操作できるように改造してみました。ソースは、 pa-art/test_usb_host の中にある dropping_monsters_usb の中にあります。

キーを読み取るには、キーボードの状態を格納するhid_keyboard_report_t型の変数を定義して、その変数に格納されたキーコードを変換テーブルを使って対応するキーに変換すればよいようです。

キーボードの状態を読み取るには tuh_hid_keyboard_get_report() return_key_code() 関数でキーの情報に変換します。元々サンプルに入ってた変換テーブルはUSキー配列やったので、日本語配列に近くなるように変更を加えてあります( pseudo_jp106.h )。

ただ、この動作を行うためには、Tiny USBのホストタスクである tuh_task() を無限ループ内で実行している必要があります。

また、最初にボードの初期化 board_init() とUSBの初期化 tusb_init() を呼ばないといけません。あと、コールバック関数、

void tuh_hid_keyboard_unmounted_cb(uint8_t dev_addr)
void tuh_hid_keyboard_isr(uint8_t dev_addr, xfer_result_t event)
を定義しておかないとコンパイルが通りません。(^^;

と、色々ややこしいのですが、何とかUSBキーボード対応に改造することができました。

USBキーボード対応の"DROPPING MONSTERS"
USBキーボード対応のDROPPING MONSTERS

ただ、家のUSBキーボードは認識されるときとされないときがあって、その識別のために画面の一番上に表示を追加しています。TinyUSBが何をしてるのか分らんのですが、NTSC表示にノイズが乗ることから割込も使ってるのかな??

USBキーボードでプレイしているところ


Raspberry Pi Pico + TinyUSB でのUSBキーボードの使い方は何となくわかったような気がします。






お気に入りの記事を「いいね!」で応援しよう

Last updated  April 17, 2021 03:15:12 PM
コメントを書く
[作りモノ] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Keyword Search

▼キーワード検索

Category

Favorite Blog

まだ登録されていません

Comments

wiskij@ Re:CH341AでVersaPro VX-UのBIOSチップ内容を読み取った(08/04) 再びGL245UFASを開いてCH341Aのコンタクト…
wiskij@ Re:CH341AでVersaPro VX-UのBIOSチップ内容を読み取った(08/04) こんばんは。NECのGL245UFAS半ジャンクを…
sorriman @ Re:HP ProDesk 400 G4 DM をセットアップした(01/13) 情報ありがとうございます。 また自宅を2…
Wi-Fiアンテナは多分入ってると思います。@ Re:HP ProDesk 400 G4 DM をセットアップした(01/13) 始めまして。 この機種はまだお使いでしょ…
通りすがりの者です@ Re:LIFEBOOK U939/B に WANカードを載せた(01/21) 私のLIFEBOOKではnanoSIMを装着後に再起動…

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: