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

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



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

  | 
  |  > 83 のコードは、PC のscancode では、テンキーの "Del ." キーのこと
  |  > でした。
  |  > 
  |  > そして Delete と書いたキーは、1 バイトコードじゃなくて 
  |  > 0xe0 prefix + 83 です。
  |  > 
  |  > そして このキーコードは、OS によって
  |  > まちまちにエンコードされます。
  |  > 
  |  > FreeBSD では、103 Linux では、111
  |  > 
  |  > となると... 83 でエンコードしてよいものかどうか...
  | 
  | scancode はキーボードのハードウェアで決まりますが、キーコードは
  | OS 毎(ドライバ毎?)に異なります。NetBSD の PS/2 keyboard 
  | ドライバでは、0xE0 83 の scancode は 128+83 のキーコードに
  | なります。ですから、vrkiu.c のテーブルに 211 と書いてみては
  | どうでしょうか?

やってみました。

Raw モードでは、

DEL キーを 押すと

0xe0 
83    (press)


離すと

0xe0
83 + 0x80 ( release)

が来ました。

そして、不通のモードでは、DEL キーを押しても コードを 得られませんでした。

教えて欲しいのですが、
scanncode から 文字のコードを 変換する map はどこにあるのでしょう?

  |  > これは OS によってまちまちで、
  |  > 
  |  > FreeBSD 
  |  > 
  |  > Delte キー ESC + [E
  |  > BS キー   0x08 ( bs )
  |  > 
  |  > Linux
  |  > 
  |  > Delete キー 0x7f ( del)
  |  > BS キー     0x08  ( bs)
  |  > 
  |  > となりました。
  | 
  | これは scancode じゃなくて、入力された文字のコードですよね?
  | keymap とか tty の設定にも影響を受けるのではないでしょうか。

そうです。
影響をうけないようにして調べているつもりです。

keymap は default で、tty の設定も erase を undefine にして調べています。

  |  > あと、wscons 一般の動作なのか そうでないかが
  |  > 判断できないので、教えてほしいのです。
  | 
  | ???すみません。ちょっと質問が理解できません。

前のメールに添付した プログラムを NetBSD/i386 で コンパイルして
調べてみて頂けませんでしょうか。

プログラムは、raw モードにして キーを押したときの code を表示します。
ESC で終了です。

調べて欲しいのは、
	o autorepeat が効くかどうか。
	o DEL キー, キーパッドの ./DEL キーを押し/離した たときのコード
です。

よろしくお願いします。

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