[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