[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wskbd and button



鈴木(康)です。
<200009070837.RAA00891@shin1.sm.sony.co.jp>の記事において
takemura@netbsd.orgさんは書きました。
  | 
  | wskbd1 はなにもしないとブラブラ遊んでいます。
  | wsconscfg -k を実行すると遊んでいる wskbd がデフォルトの
  | wsdisplay(/dev/ttyE0) に接続されます。
  | wskbd0 も遊んでいるかも知れません。
  | 単に wsconscfg -k を繰り返すとどんどん wskbd が ttyE0 に
  | 接続され、遊んでいる wskbd がなくなるとエラーが表示されます。

解説ありがとうございます。
これでテストができそうです。

  |  > 2) cat /dev/wskbd1 と してボタンを押すと、何かコードが出て来た。
  |  >     文字が化けることから、scancode のような気がする。
  | 
  | それは scancode ではなく、wscons の key event です。
  | od -x /dev/wskbd1 してじっと見るとなんとなく意味がわかるかも。

なるほど、wskbd は tty デバイスではないのですね。

  | ちなみに wsconscfg -k して wskbd1 を ttyE0 に接続すると
  | /dev/wskbd1 は open できなくなると思います。
  | 
  |  > 3) export MGL_KEYMAP="localtranslate" 
  |  > として、RAW モードで入力し 内部で変換するモードにして
  |  > 
  |  >  mgterm < /dev/wskbd1
  |  > 
  |  > とすると panic
  | 
  | それはいけませんね。

mgl がこんな ioctl 切るのが原因だと思います。

        ioctl(0, VT_WAITACTIVE, 0);
        ioctl(0, KDSETMODE, KD_GRAPHICS);
        ioctl(0,VT_SETMODE, &smode);
	ret = ioctl(0,WSKBDIO_SETMODE, &tmp);

--
					鈴木 康司 @NECソリューションズ
					suz@hpc.bs1.fc.nec.co.jp
					TEL 042-333-6465