2021/02/25(木) [n年前の日記]
#1 [hsp][raspberrypi] HSP と /dev/input/by-id について調べてる
Raspberry Pi Zero W + Raspberry Pi OS buster 上で HSP3.6beta を動かすとキーボードやマウスが無反応なる件が気になって、もうちょっと調べていたり。
OpenHSP の hsp3dish.cpp を眺めてみると、/dev/input/by-id というパスを見ているようで。
_OpenHSP/hsp3dish.cpp at master - onitama/OpenHSP
キーボードやマウスが違うと、そのあたりでも違いが出てくるのだろうかと気になって。
まず、無反応になる Logicool K400r (USB接続ワイヤレスキーボード、タッチパッド付)はこんな感じ。
反応する、Lenovo トラックポイントキーボード(USB有線接続キーボード、トラックポイント付)はこんな感じ。
無反応の、ELECOM M-BL21DBSV (USB接続ワイヤレスマウス)だけを繋いだ状態。
/dev/input/by-id 以下に何も出てこないんじゃないかと思ったけど、そんなことは無いなと…。どれもそれっぽい名前が出てきているように見える。
OpenHSP の hsp3dish.cpp を眺めてみると、/dev/input/by-id というパスを見ているようで。
_OpenHSP/hsp3dish.cpp at master - onitama/OpenHSP
キーボードやマウスが違うと、そのあたりでも違いが出てくるのだろうかと気になって。
まず、無反応になる Logicool K400r (USB接続ワイヤレスキーボード、タッチパッド付)はこんな感じ。
$ ll /dev/input 合計 0 drwxr-xr-x 4 root root 140 2月 25 22:15 ./ drwxr-xr-x 17 root root 3660 2月 25 22:15 ../ drwxr-xr-x 2 root root 100 2月 25 22:15 by-id/ drwxr-xr-x 2 root root 100 2月 25 22:15 by-path/ crw-rw---- 1 root input 13, 64 2月 25 22:15 event0 crw-rw---- 1 root input 13, 63 2月 25 22:14 mice crw-rw---- 1 root input 13, 32 2月 25 22:15 mouse0 $ ll /dev/input/by-id 合計 0 drwxr-xr-x 2 root root 100 2月 25 22:15 ./ drwxr-xr-x 4 root root 140 2月 25 22:15 ../ lrwxrwxrwx 1 root root 9 2月 25 22:15 usb-Logitech_USB_Receiver-event-if02 -> ../event0 lrwxrwxrwx 1 root root 9 2月 25 22:15 usb-Logitech_USB_Receiver-if02-event-mouse -> ../event0 lrwxrwxrwx 1 root root 9 2月 25 22:15 usb-Logitech_USB_Receiver-if02-mouse -> ../mouse0
反応する、Lenovo トラックポイントキーボード(USB有線接続キーボード、トラックポイント付)はこんな感じ。
$ ll /dev/input 合計 0 drwxr-xr-x 4 root root 240 2月 25 22:42 ./ drwxr-xr-x 17 root root 3660 2月 25 22:42 ../ drwxr-xr-x 2 root root 140 2月 25 22:42 by-id/ drwxr-xr-x 2 root root 120 2月 25 22:42 by-path/ crw-rw---- 1 root input 13, 64 2月 25 22:42 event0 crw-rw---- 1 root input 13, 65 2月 25 22:42 event1 crw-rw---- 1 root input 13, 66 2月 25 22:42 event2 crw-rw---- 1 root input 13, 67 2月 25 22:42 event3 crw-rw---- 1 root input 13, 68 2月 25 22:42 event4 crw-rw---- 1 root input 13, 69 2月 25 22:42 event5 crw-rw---- 1 root input 13, 63 2月 25 22:14 mice crw-rw---- 1 root input 13, 32 2月 25 22:42 mouse0 $ ll /dev/input/by-id 合計 0 drwxr-xr-x 2 root root 140 2月 25 22:42 ./ drwxr-xr-x 4 root root 240 2月 25 22:42 ../ lrwxrwxrwx 1 root root 9 2月 25 22:42 usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-if01 -> ../event5 lrwxrwxrwx 1 root root 9 2月 25 22:42 usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd -> ../event0 lrwxrwxrwx 1 root root 9 2月 25 22:42 usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-if01-event-mouse -> ../event1 lrwxrwxrwx 1 root root 9 2月 25 22:42 usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-if01-mouse -> ../mouse0 lrwxrwxrwx 1 root root 9 2月 25 22:15 usb-Logitech_USB_Receiver-event-if02 -> ../event0
無反応の、ELECOM M-BL21DBSV (USB接続ワイヤレスマウス)だけを繋いだ状態。
$ ll /dev/input 合計 0 drwxr-xr-x 4 root root 200 2月 25 22:46 ./ drwxr-xr-x 17 root root 3640 2月 25 22:46 ../ drwxr-xr-x 2 root root 120 2月 25 22:46 by-id/ drwxr-xr-x 2 root root 100 2月 25 22:46 by-path/ crw-rw---- 1 root input 13, 64 2月 25 22:46 event0 crw-rw---- 1 root input 13, 65 2月 25 22:46 event1 crw-rw---- 1 root input 13, 66 2月 25 22:46 event2 crw-rw---- 1 root input 13, 67 2月 25 22:46 event3 crw-rw---- 1 root input 13, 63 2月 25 22:14 mice crw-rw---- 1 root input 13, 32 2月 25 22:46 mouse0 $ ll /dev/input/by-id 合計 0 drwxr-xr-x 2 root root 120 2月 25 22:46 ./ drwxr-xr-x 4 root root 200 2月 25 22:46 ../ lrwxrwxrwx 1 root root 9 2月 25 22:46 usb-ELECOM_ELECOM_BlueLED_Mouse-event-if00 -> ../event2 lrwxrwxrwx 1 root root 9 2月 25 22:46 usb-ELECOM_ELECOM_BlueLED_Mouse-event-mouse -> ../event0 lrwxrwxrwx 1 root root 9 2月 25 22:46 usb-ELECOM_ELECOM_BlueLED_Mouse-mouse -> ../mouse0 lrwxrwxrwx 1 root root 9 2月 25 22:15 usb-Logitech_USB_Receiver-event-if02 -> ../event0
/dev/input/by-id 以下に何も出てこないんじゃないかと思ったけど、そんなことは無いなと…。どれもそれっぽい名前が出てきているように見える。
◎ なんとなく分かってきた。 :
hsp3dish.cpp の initKeyboard() の中で、/dev/input/by-id/ 以下から得られる文字列に対し、正規表現を使って "event-kbd" と "event-mouse" を探して、それをキーボードとマウスとして扱うっぽいのだけど。
キーボードやマウスによっては、"event-kbd" がキーボード、"event-mouse" がマウス、とは限らない文字列を返してくる場合があるのだな…。
例えば Logicool K400r の場合、usb-Logitech_USB_Receiver-event-if02 か usb-Logitech_USB_Receiver-if02-event-mouse がキーボード、usb-Logitech_USB_Receiver-if02-mouse がマウスっぽい気配がする。mouse0 にリンクされてるし。"event-kbd" と "event-mouse" が実態に合ってない。たぶん。
ELECOM M-BL21DBSV の場合、usb-ELECOM_ELECOM_BlueLED_Mouse-mouse がマウスっぽい。これまた、"event-kbd" と "event-mouse" が実態に合ってない。たぶん。
Lenovo トラックポイント付きキーボードだけが、event-kbd はキーボード、event-mouse はマウス(トラックポイント)と返してくるっぽい。それでこの製品だけが反応するのだな。たぶん。
event0 がキーボードに相当するのかなと思ってるけど、二つ出てくるあたりが気になる…。
キーボードやマウスによっては、"event-kbd" がキーボード、"event-mouse" がマウス、とは限らない文字列を返してくる場合があるのだな…。
例えば Logicool K400r の場合、usb-Logitech_USB_Receiver-event-if02 か usb-Logitech_USB_Receiver-if02-event-mouse がキーボード、usb-Logitech_USB_Receiver-if02-mouse がマウスっぽい気配がする。mouse0 にリンクされてるし。"event-kbd" と "event-mouse" が実態に合ってない。たぶん。
ELECOM M-BL21DBSV の場合、usb-ELECOM_ELECOM_BlueLED_Mouse-mouse がマウスっぽい。これまた、"event-kbd" と "event-mouse" が実態に合ってない。たぶん。
Lenovo トラックポイント付きキーボードだけが、event-kbd はキーボード、event-mouse はマウス(トラックポイント)と返してくるっぽい。それでこの製品だけが反応するのだな。たぶん。
event0 がキーボードに相当するのかなと思ってるけど、二つ出てくるあたりが気になる…。
[ ツッコむ ]
#2 [zatta] ダイソーで色々購入
100円ショップダイソーで色々購入。
マグネットフックは、先日の地震で今まで使っていたマグネットフックが壊れてしまったので、代わりの品を入手。USB接続ゲームパッド等をぶら下げる場所が欲しくて…。
4個入りキャスターは、前々から欲しかったけど、どのダイソーにも売ってなくて諦めていたのだけど。たまたま今日は見かけたので慌てて購入。家具の滑り止め等が陳列されてる場所ではなくて、木材だの金具だのが陳列されてる場所に置いてあった。そこかよ…。盲点だった…。
Wフックロークは、縁側に自転車を固定するために購入。しかし、ウチの犬が何かの拍子に、このロープを毎回噛み千切ってしまう…。既に何回買ってきたのかわからん…。何か対策が必要なのだけど、どうしたら…。
角型花台キャスター付きは、PCスタンド? CPUスタンド? の代わりに使えないかと。ただ、先日の地震で、この手の花台で立てていたPCケース2台が、どちらも倒れてしまって。しかし、そんな中、 _サンワサプライ CP-031 を使っていたPCだけは倒れなかったので、本当はちゃんとした製品を購入したほうがいいのかもしれない。
参考ページ。
_【車中泊】安い!簡単!DIY!車内にカーテンを取り付ける方法! | 人生はチャレンジの連続
_ダイソーの「ラクラクピタッ!とキャスター」で今ある収納ボックスが使いやすく変身! | ROOMIE(ルーミー)
_ダイソー Wフックロープ 2本入り 約50cm のパーツレビュー | ミゼットII(伴有兎(ばん・あると)) | みんカラ
_100均ダイソーのキャスター付き花台。商品一覧とサイズ、カラー【200円】
- スイングマグネットフック。可動式。2個入り。最大保持荷重約1kgと書いてある。E087、フック No.437。
- ラクラクピタッ!とキャスター。4個入り。耐荷重量約8kg(4個利用時)。キャスター No.59。2つ購入。
- Wフックロープ2本入り。長さ約50cm。自転車D11 No.9。2つ購入。
- 角型花台キャスター付き。22cm x 22cm。耐荷重量20kg。200円商品。2つ購入。
マグネットフックは、先日の地震で今まで使っていたマグネットフックが壊れてしまったので、代わりの品を入手。USB接続ゲームパッド等をぶら下げる場所が欲しくて…。
4個入りキャスターは、前々から欲しかったけど、どのダイソーにも売ってなくて諦めていたのだけど。たまたま今日は見かけたので慌てて購入。家具の滑り止め等が陳列されてる場所ではなくて、木材だの金具だのが陳列されてる場所に置いてあった。そこかよ…。盲点だった…。
Wフックロークは、縁側に自転車を固定するために購入。しかし、ウチの犬が何かの拍子に、このロープを毎回噛み千切ってしまう…。既に何回買ってきたのかわからん…。何か対策が必要なのだけど、どうしたら…。
角型花台キャスター付きは、PCスタンド? CPUスタンド? の代わりに使えないかと。ただ、先日の地震で、この手の花台で立てていたPCケース2台が、どちらも倒れてしまって。しかし、そんな中、 _サンワサプライ CP-031 を使っていたPCだけは倒れなかったので、本当はちゃんとした製品を購入したほうがいいのかもしれない。
参考ページ。
_【車中泊】安い!簡単!DIY!車内にカーテンを取り付ける方法! | 人生はチャレンジの連続
_ダイソーの「ラクラクピタッ!とキャスター」で今ある収納ボックスが使いやすく変身! | ROOMIE(ルーミー)
_ダイソー Wフックロープ 2本入り 約50cm のパーツレビュー | ミゼットII(伴有兎(ばん・あると)) | みんカラ
_100均ダイソーのキャスター付き花台。商品一覧とサイズ、カラー【200円】
[ ツッコむ ]
以上、1 日分です。