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

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



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

  |  > RAW モードで取得できる コードが 14 なのですが、scancode 一般にはこの
  |  > コードは、BackSpace です。
  |  > 
  |  > Delete キーの scancode は 一般に 83 なので RAW モード自体の コードが
  |  > 逆になっているみたいです。
  | 
  | まず、i386 の RAW モード(これが本来の RAW モード)で得られるデータは
  | キーボードからシリアルで送られてきたデータそのままです。
  | ですから同じキーボードを使えば OS に関係なくおなじデータが
  | 得られます。PS/2 キーボードならばどれでも同じようなものでは
  | ないでしょうか。
  | ですから、del キーのコードを 83 にするのは正しいと思います。

すいません。間違えていました。

83 のコードは、PC のscancode では、テンキーの "Del ." キーのこと
でした。

そして Delete と書いたキーは、1 バイトコードじゃなくて 
0xe0 prefix + 83 です。

そして このキーコードは、OS によって
まちまちにエンコードされます。

FreeBSD では、103 Linux では、111

となると... 83 でエンコードしてよいものかどうか...

  | 次に hpcmips での話ですが、キーコードはそれぞれの機種毎に
  | 異なります。また、VR と TX では実装がかなり異なります。
  | VR に関してだけいうと、キーコードは sys/arch/hpcmips/vr/vrkiu.c に
  | あるキーマップで決定されます。
  | たとえば日本仕様の Mobile Gear II では以下のようになっており、
  | del と BS のキーコードが 14 になっているのがわかります。
  | これを 83 に変えれば良さそうです。
  | 試してみて下さい。望みの動作になりますか?

やってみたのですが、

Delete キー ESC + [3~ 
BS キー  0x7f ( del )

となりました。

これは OS によってまちまちで、

FreeBSD 

Delte キー ESC + [E
BS キー   0x08 ( bs )

Linux

Delete キー 0x7f ( del)
BS キー     0x08  ( bs)

となりました。

望みは、できるだけ i386 の NetBSD に合わせて欲しい
ということなのですが、i386 を native でインストールしたマシンが
手元にないので、チェックできません。
( vmware はあるのですが、キーコードをチェックするのに
信用してよいかどうか分からない )

あと、望ましい動作としては、

Delete キー 0x7f (del)
BS キー   0x08 ( bs)

か それを 入れ換えたものだと思っていたのですが、
自信がなくなってきました。

  |  > あと、RAW モードでは、オートリピートは効かないみたいなのですが、
  |  > i386 などでも同じなのでしょうか?
  |  > ( i386 は 、Linux でも FreeBSD でも オートリピートが効くみたい)
  | 
  | RAW モードでオートリピートが効くのは、まさにキーボードがシリアル
  | 経由でキーコードを繰り返し送出しているからだと思います。
  | 残念ながら VR 系のキーボードドライバ vrkiu.c にはこの機能は
  | 全くありません。エミュレーションすることは可能だと思いますが、
  | 私は今すぐには実装できません。
  | 
  | リピートの on/off、間隔などの設定のことまで考えると MGL 側で
  | キーリピートを別途実装した方が複数の OS に対応しやすいかも。
  | どうでしょうか?

了解です。

一応いれてあるんですが、たぶん精度悪いです。

あと、wscons 一般の動作なのか そうでないかが
判断できないので、教えてほしいのです。

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