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

Re: mgl2 update (Re: pwctl[12] on docomoba2)



鈴木(康)です。
<200009010234.LAA17348@shin1.sm.sony.co.jp>の記事において
takemura@netbsd.orgさんは書きました。

  |  > scanncode から 文字のコードを 変換する map はどこにあるのでしょう?
  | 
  | VR の場合 scancode は存在せず、キーマトリクスからテーブルをひいて
  | キーコード(del は 211)を wskbd に渡します。wskbd は keymap で
  | これを変換します。RAW モードの際には、キーマトリクスからテーブルを
  | ひいて得たキーコードをプログラム的に scancode (0xE0 83) に変換して
  | wskbd に渡します。RAW モードの際には wskbd はこれをそのまま
  | ユーザプログラムに渡します。
  |
  | i386 の場合、sys/dev/pckbc がキーボードから読みとった scancode
  | (0xE0 83)をプログラム的に 211(128+83)に変換し、wskbd に渡します。
  | あとは VR の場合と同じです。RAW モードの場合は pckbc、wskbd 共に
  | ほとんど何も変換を行なわず、キーボードから読みとったデータが
  | そのままユーザプログラムに渡されます。
  | 
  | wskbd の keymap に関しては man wskbd を見てみて下さい。
  | (私も良くわかりません)

解説ありがとうございます。
分かったような気がします。

RAW モードのコードは、おおむね一緒だけれども
厳密には統一されていないわけですね。

( wskbd_rawinput が、wskbd_input と同じ パラメータなら必然的に一緒に
なるのに... なんて思ってしまいました。)

で、wscons の デフォルトの mapping は、

sys/dev/pckbc/wskbdmap_mfii.c

にあって、wscons ではどれでも、BackSpace キーを押したときのコードは、
del (0x7f) になる ということですね。

# ひょっとして vt100 互換なら 当然?

P.S. 

MCR シリーズって ハード的に 右SHIFT は取得できないのですね。

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