Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

今時のopencoconでシリアルマウスを使う

今時のLinuxでシリアルマウスを使う方法(小ネタ)。opencoconを例にしているが、他ディストリでも使える。ただしkernelのモジュールに組み込まれていないこともあるので注意したい。

  • Be the first to comment

  • Be the first to like this

今時のopencoconでシリアルマウスを使う

  1. 1. 今時のopencoconで シリアルマウスを使う SHIMADA Hirofumi, @shimada@inari.opencocon.org @shimada@mstdn.maud.io
  2. 2. 京都といえば レトロPCネタ
  3. 3. そもそもシリアルマウスとは ● ロストテクノロジーのひとつ ● シリアルポートに接続するマウス。昔はよくあった ● シリアルマウスはプロトコルが統一されておらず、かつ Plug&Playではなかった。ドライバを入れ、設定する必要が あった。 ● 主なプロトコルは以下の通り – Microsoft – Logitech (日本ではロジクール) – Sun – DEC など ● 一部のトラックボール・キーボード・タッチスクリーン・板タブ レットも、この部類に入る
  4. 4. こんな外観 https://pc.watch.impress.co.jp/docs/article/diy9712/1/1_5.htm
  5. 5. なして今更? ● 塩漬けになっていた Libretto 50M (通称ほほえみくん) に、自分が作っている opencocon v10b を入れた ● このマシンはリブポイントが無く、かわりにタッチスク リーンが内蔵されている。しかしながら、未だに Linux でこれは動作しない – Windowsドライバから、動作を解析しなければならない – どうも特定のメモリを見るといいらしい? ● ポートデュプリケータがあるが、シリアル・パラレル・ D-Subしかない。 (つまり PS/2 コネクタが無い) ● もちろん世代的にUSBなんて無い
  6. 6. 昔のPlamoでは http://plamo.linet.gr.jp/~kmoue/plamo/3.3/p3inst-5.html
  7. 7. Linuxで今更 シリアルマウスを 使うには?
  8. 8. 最大の難関: シリアルマウスを捜索する ● 実家を足掛け半年捜索し、昔買ったシリアル・PS/2対 応マウスを発掘 ● マウスのコネクタは PS/2 であるが、専用のシリアル 変換コネクタがある。この両方を見つけ出す必要が あった。 – 買った当時は特に意識していなかったが、これは今から 考えると貴重なものである ● ホイールがベタベタになっていたため、ラバー部分 を除去
  9. 9. 発掘されたシリアルマウス
  10. 10. 注意点 ● Amazon等にはよくPS/2 – シリアル変換アダプタ が売っているが、これを適当な PS/2 マウスに繋い でも使用できない可能性がある。 ● 結局のところ、シリアルに対応した(互換性がある) マウスを選ぶ必要があるようだ ● PS/2 -> シリアル変換ボードなんてのも世の中には あるらしい
  11. 11. Linuxでシリアルマウスを使うには 1. Kernel でのドライバ読み込み 8250 (一般的なPC/ATのシリアルポートの場合), sermouse を それぞれ modprobe する。 その後 dmesg を確認して、正常に認識され、 デバイスファイルが生えたことを確認する 2. ユーザランドドライバ:inputattach 3. X.org の設定
  12. 12. ユーザランドドライバ:inputattach “inputattach attaches a serial line to an input-layer device via a line discipline. Exactly one of the available modes must be specified on the command line.” ● プロトコルの解釈・変換をここで行っているらしい ● 今回発掘したシリアルマウスは、Logitech (-mman)なので、こ んな感じに動かす。 # inputattach -mman /dev/ttyS0 ● Daemonにしなくても動くが、当然ながらこのプログラムが動い ていないと変換しないため、マウスが動かない
  13. 13. X.orgの設定 ● これを xorg.conf または xorg.conf.d/ に入れる必要がある ( https://help.ubuntu.com/community/SerialMouseHowto より引用 ) Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/ttyS0" Option "Protocol" "auto" Option "ZAxisMapping" "4 5" EndSection
  14. 14. というのを ● 現在の opencocon では自動的に設定する部分を 作っていないため、適当にscriptに引っ掛けて、 ● inputattach は前からバンドルはしていたので、それ を手動で実行して動作確認を行った ● わーい動いた ● (とはいえめんどいので、そのうち Option メニューに その辺の追加をしようと思います...)
  15. 15. 使ってみての感想 ● PS/2、USBマウスより反応が鈍い ● マシンの高負荷時、マウス移動やクリックが止まる ● ユーザランドのヘルパーを通しているため、これの 反応が悪いと止まる – どうも通信の取りこぼしが起きているようだ ● つまりは、プロトコル処理も kernel や driver レベル で行う PS/2 や USB は偉大だということが判る
  16. 16. というわけで おーぷんここん ブースで シリアルマウス実演 やってます!
  17. 17. 応用 ● マウスでは稀であるが、むしろタッチスクリーンや板 タブ、または組み込みの世界で、この組み合わせを 使うことがある。 – 手元には、Wacom w8001 搭載の古いタブレットがある が、これに該当する ● マシンによっては、シリアルポートが無くても、内蔵 のタッチスクリーンデバイスが実はシリアル接続、と いうこともある ● tslib の絡みがあるデバイスもあるらしい
  18. 18. 感想 ● また地味なネタを作ってしまった ● シリアルマウス対応は、誰得感満載である ● 次があるとしたら、太古の昔の板タブとかも試して みたい

×