2021/02/21(日) [n年前の日記]
#1 [hsp][raspberrypi][linux] HSP3.6betaとキーボードやマウスの相性をもう少し調べたり
_昨日、
Raspberry Pi Zero W上で HSP3.6beta(OpenHSP)を動かした際、キーボードやマウスの型番によっては無反応になってしまう点が気になって。もうちょっと検証してみようかと。
ちなみに、Raspberry Pi OS のデスクトップ画面を操作する分には、キーボードもマウスもちゃんと反応する ―― どの機器も正常に動作しているように見える。あくまで、HSPを動かした時だけ、無反応になる・相性があるように見えるというか。
「Good」は正常動作。「No good」は無反応。
部屋の中から他のマウスを発掘して試してみたところ、USB有線接続マウス A4Tech XL-755BK ならマウスの動きを取得できることが分かった。ただ、それもすんなり動くわけでもなく…。
ちなみに、Logicool VX Nano、ELECOM M-BL21DBSV、Logitech(Logicool) MX300 は、キーボードを外してマウスだけ接続した状態でも無反応だった。
念のために再度書いておくけど、デスクトップ画面の操作ならどの機器も正常に動作してる。
一応、lsusb の結果もメモしておく。この情報だけでは何の役にも立たないかもしれないけれど、少なくとも、USB接続機器としてOSから認識できていることぐらいは分かるのではないかと…。
電流が足りてないのでは、とも思ったけれど、lsusb -v で確認すると、どれも MaxPower 100mA と言ってくるし、そもそも電流不足なら、デスクトップ画面の操作だってできないよなと…。デスクトップ画面の操作なら、どのキーボードも、どのマウスも動作してるのだから、電流不足ではないだろうと。
入力を取得できない機器の共通点が全然見えてこない…。有線無線もどうやら関係ないっぽいし…。わからんなあ…。
ちなみに、Raspberry Pi OS のデスクトップ画面を操作する分には、キーボードもマウスもちゃんと反応する ―― どの機器も正常に動作しているように見える。あくまで、HSPを動かした時だけ、無反応になる・相性があるように見えるというか。
キーボード・マウス型番 | キー入力 | マウス操作 |
---|---|---|
ワイヤレス(無線)キーボード Logicool K400r (タッチパッド付) | No good | No good |
USB有線接続キーボード Lenovo KU-1255 (トラックポイント付) | Good | Good |
ワイヤレス(無線)キーボード BUFFALO BSKBW03WH (※2) | Good | None |
ワイヤレス(無線)キーボード BUFFALO BSKBW03WH (※1) | No good | None |
ワイヤレスマウス Logicool VX Nano | None | No good |
ワイヤレスマウス ELECOM M-BL21DBSV | None | No good |
USB有線接続マウス ELECOM M-XGM10UBBK | None | No good |
USB有線接続マウス A4Tech XL-755BK (※1) | None | Good |
USB有線接続マウス A4Tech XL-755BK (※2) | None | No good |
USB有線接続マウス Logitech(Logicool) MX300 | None | No good |
- ※1 マウス接続 → キーボード接続の順で、USBポートに接続。もしくはマウスのみ接続。
- ※2 キーボード接続 → マウス接続の順で、USBポートに接続。
部屋の中から他のマウスを発掘して試してみたところ、USB有線接続マウス A4Tech XL-755BK ならマウスの動きを取得できることが分かった。ただ、それもすんなり動くわけでもなく…。
- マウスを先に接続して、その後キーボードを接続するか、あるいはマウスだけを接続した時にマウスが正常動作する。
- キーボードを先に接続してしまうと、マウスの動きを取得できない・無反応になる。
- マウスが正常に動いてる時は、キーボードのキー入力(ESCキー入力等)を受け付けてくれない。
ちなみに、Logicool VX Nano、ELECOM M-BL21DBSV、Logitech(Logicool) MX300 は、キーボードを外してマウスだけ接続した状態でも無反応だった。
念のために再度書いておくけど、デスクトップ画面の操作ならどの機器も正常に動作してる。
一応、lsusb の結果もメモしておく。この情報だけでは何の役にも立たないかもしれないけれど、少なくとも、USB接続機器としてOSから認識できていることぐらいは分かるのではないかと…。
# Logicool K400r $ lsusb Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 002: ID 214b:7250 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # Lenovo KU-1255 $ lsusb Bus 001 Device 003: ID 17ef:6047 Lenovo Bus 001 Device 002: ID 214b:7250 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # Logicool VX Nano $ lsusb Bus 001 Device 016: ID 046d:c526 Logitech, Inc. Nano Receiver Bus 001 Device 002: ID 214b:7250 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # ELECOM M-BL21DBSV $ lsusb Bus 001 Device 017: ID 056e:00cb Elecom Co., Ltd Bus 001 Device 002: ID 214b:7250 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # A4Tech XL-755BK $ lsusb Bus 001 Device 007: ID 09da:9090 A4Tech Co., Ltd. XL-730K / XL-750BK / XL-755BK Mice Bus 001 Device 002: ID 214b:7250 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # Logitech MX300 $ lsusb Bus 001 Device 006: ID 046d:c024 Logitech, Inc. MX300 Optical Mouse Bus 001 Device 004: ID 17ef:6047 Lenovo Bus 001 Device 002: ID 214b:7250 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
電流が足りてないのでは、とも思ったけれど、lsusb -v で確認すると、どれも MaxPower 100mA と言ってくるし、そもそも電流不足なら、デスクトップ画面の操作だってできないよなと…。デスクトップ画面の操作なら、どのキーボードも、どのマウスも動作してるのだから、電流不足ではないだろうと。
入力を取得できない機器の共通点が全然見えてこない…。有線無線もどうやら関係ないっぽいし…。わからんなあ…。
◎ もう少し機器の情報を集める。 :
Linuxの場合、/proc/bus/input/devices を調べることで、接続された入力機器の情報が得られたりするらしい。
例えば、Logicool K400r の場合は以下。
Lenovo SU-1255 (ThinkPad トラックポイントキーボード)の場合は以下。
hexdump /dev/input/event0 で、イベントが入ってた来た時の情報を表示できるっぽい。
しかし、/dev/input/event* で反応があると分かったところで…。デスクトップ画面では、どの機器も動いてるわけだし…。
参考ページ。
_Linux の入力デバイスをカスタマイズ - Qiita
_[Linux] /dev/input からマウスイベントを取得する - Qiita
_epics/powermate-event - Epics Users JP
_マウスをカスタマイズしよう linux編 : Yuki Nakata's Blog
例えば、Logicool K400r の場合は以下。
$ cat /proc/bus/input/devices I: Bus=0003 Vendor=046d Product=4024 Version=0111 N: Name="Logitech K400" P: Phys=usb-20980000.usb-1.2/input2:1 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.2/0003:046D:C52B.0003/0003:046D:4024.0004/input/input12 U: Uniq=4024-73-8d-f5-e4 H: Handlers=sysrq kbd leds mouse0 event0 B: PROP=0 B: EV=12001f B: KEY=3f 301ff 0 0 0 0 483ffff 17aff32d bfd44446 0 0 ffff0001 130ff3 8b17c007 ffff7bfa d941dfff ffbeffdf ffefffff ffffffff fffffffe B: REL=1943 B: ABS=1 0 B: MSC=10 B: LED=1fHandlers のところがポイントらしくて、ここでどんな情報を取得できるかが分かる模様。K400r の場合、タッチパッド付のキーボードだから、kbd と mouse0 が列挙されているのかなと。
Lenovo SU-1255 (ThinkPad トラックポイントキーボード)の場合は以下。
$ cat /proc/bus/input/devices I: Bus=0003 Vendor=17ef Product=6047 Version=0100 N: Name="Lenovo ThinkPad Compact USB Keyboard with TrackPoint" P: Phys=usb-20980000.usb-1.2/input0 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:17EF:6047.0005/input/input13 U: Uniq= H: Handlers=sysrq kbd leds event0 B: PROP=0 B: EV=120013 B: KEY=10000 7 ff800000 7ff febeffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=1f I: Bus=0003 Vendor=17ef Product=6047 Version=0100 N: Name="Lenovo ThinkPad Compact USB Keyboard with TrackPoint Mouse" P: Phys=usb-20980000.usb-1.2/input1 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:17EF:6047.0006/input/input14 U: Uniq= H: Handlers=mouse0 event1 B: PROP=0 B: EV=17 B: KEY=1f0000 0 0 0 0 0 0 0 0 B: REL=1943 B: MSC=10 I: Bus=0003 Vendor=17ef Product=6047 Version=0100 N: Name="Lenovo ThinkPad Compact USB Keyboard with TrackPoint Consumer Control" P: Phys=usb-20980000.usb-1.2/input1 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:17EF:6047.0006/input/input15 U: Uniq= H: Handlers=kbd event2 B: PROP=0 B: EV=1f B: KEY=300ff 0 0 0 0 483ffff 17aff32d bfd44446 0 0 1 130c73 b17c000 267bfa d9415fed 9e1680 4400 0 10000002 B: REL=1040 B: ABS=1 0 B: MSC=10 I: Bus=0003 Vendor=17ef Product=6047 Version=0100 N: Name="Lenovo ThinkPad Compact USB Keyboard with TrackPoint" P: Phys=usb-20980000.usb-1.2/input1 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:17EF:6047.0006/input/input16 U: Uniq= H: Handlers=event3 B: PROP=0 B: EV=9 B: ABS=100 0 I: Bus=0003 Vendor=17ef Product=6047 Version=0100 N: Name="Lenovo ThinkPad Compact USB Keyboard with TrackPoint" P: Phys=usb-20980000.usb-1.2/input1 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:17EF:6047.0006/input/input17 U: Uniq= H: Handlers=event4 B: PROP=0 B: EV=13 B: KEY=1 0 0 0 0 0 0 0 0 B: MSC=10 I: Bus=0003 Vendor=17ef Product=6047 Version=0100 N: Name="Lenovo ThinkPad Compact USB Keyboard with TrackPoint" P: Phys=usb-20980000.usb-1.2/input1 S: Sysfs=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:17EF:6047.0006/input/input18 U: Uniq= H: Handlers=event5 B: PROP=0 B: EV=9 B: ABS=100 0K400r と比べると、情報が多い…。Handlers を見ると、event0 が kbd、event1 が mouse0、event2 も kbd、となってるみたいだなと。
hexdump /dev/input/event0 で、イベントが入ってた来た時の情報を表示できるっぽい。
$ hexdump /dev/input/event0 0000000 53c6 6032 18f9 0008 0004 0004 0004 0007 0000010 53c6 6032 18f9 0008 0001 001e 0001 0000 0000020 53c6 6032 18f9 0008 0000 0000 0000 0000 0000030 53c6 6032 bd21 0008 0004 0004 0004 0007 0000040 53c6 6032 bd21 0008 0001 001e 0000 0000 0000050 53c6 6032 bd21 0008 0000 0000 0000 0000たしかに、キーボードのキーを押したら、謎の値がずらずらと表示された。Ctrl+C で終了。
しかし、/dev/input/event* で反応があると分かったところで…。デスクトップ画面では、どの機器も動いてるわけだし…。
参考ページ。
_Linux の入力デバイスをカスタマイズ - Qiita
_[Linux] /dev/input からマウスイベントを取得する - Qiita
_epics/powermate-event - Epics Users JP
_マウスをカスタマイズしよう linux編 : Yuki Nakata's Blog
[ ツッコむ ]
#2 [anime] 「GHOST IN THE SHELL/攻殻機動隊2.0」を視聴
BS12で放送されていたので視聴。士郎正宗原作の漫画作品を押井守監督が劇場アニメ化…てな説明は要らないか…。2.0は、オリジナル版のあちこちをCG映像で置き換えた版だそうで。ググってみたら、オリジナル版は1995年、2.0は2008年の公開だったらしい。
恥ずかしながら、自分、攻殻機動隊の劇場版を今までちゃんと見たことが無くて。中途半端に、部分部分は見てるのだけど、全体を通して見た記憶は無く。てなわけで、なるほどこういう話だったのですねえ、てな感想を。これでなんだかスッキリしました。
記憶の信憑性が云々のあたりは面白いなと。SFだ…。
CGパートはテカテカ質感で、なんとなくだけど士郎正宗先生が描くイラストのタッチに近づいたような、そんな印象も受けた。まあ、キャラデザがアニメ版のソレなので、士郎正宗先生のイラストがそのまま動いてる、てな感覚にはならなかったのだけど…。そういえば、今はCGアニメ版の攻殻SACもあるのだったか。見比べるとCGの進歩が見えてきたりもするのかしら。どうなんだろう。
恥ずかしながら、自分、攻殻機動隊の劇場版を今までちゃんと見たことが無くて。中途半端に、部分部分は見てるのだけど、全体を通して見た記憶は無く。てなわけで、なるほどこういう話だったのですねえ、てな感想を。これでなんだかスッキリしました。
記憶の信憑性が云々のあたりは面白いなと。SFだ…。
CGパートはテカテカ質感で、なんとなくだけど士郎正宗先生が描くイラストのタッチに近づいたような、そんな印象も受けた。まあ、キャラデザがアニメ版のソレなので、士郎正宗先生のイラストがそのまま動いてる、てな感覚にはならなかったのだけど…。そういえば、今はCGアニメ版の攻殻SACもあるのだったか。見比べるとCGの進歩が見えてきたりもするのかしら。どうなんだろう。
[ ツッコむ ]
以上、1 日分です。