[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Xmgl
神木です。食中毒でダウン中。
哲学レイヤなのでこっち。
実装レイヤは DM で。
>From: suz@hpc.bs1.fc.nec.co.jp
>X-Ml-Count: 3484
> o X での RAW モードの互換性をあげる。
> o MGL_SK_EXTRANSLATED を実装するための keymap は、
> X で使える程度の機能を持たせるけれども
> MGL_SK_EXTRANSLATED の API 自体は 拡張しない
>というので手を打てませんか?
おっけーですが、...
> | # ついでに言や、MGL_SK_RAW は on X と on PDA でまだ互換性皆無なので
> | # 出来るだけ使いたくない ...。
>X の MGL_SK_RAW は、あまりにアバウトかも知れません。
MGL_SK_RAW の互換性をあげるのは、結局は機能をどう揃えるかという問題と
不可分なのではないかなあ。
mgl2 の MGL_SK_RAW, MGL_SK_EXTRANSLATED 周囲でこれからやる実装は X や SVGAlib
ですでに行なわれて来たことなわけです。MicroWindows でもやってるはずですね。
X の Xserver/hw/xfree86/os_support/ 以下や linux kernel の keyboard.c を
mgl2/ 以下にコピーして適当に使えないかと見てたりするんですが、そうすると
良く似た subset つくるより「そのまんま全部」のほうがよっぽど自然だったり
するわけです。
# ラクかどうかは微妙かもしれん。
>全ての KeySym や モデファイヤ を 全部定義してみせるのは、
>行きすぎではないかと思うのです。
いまからぜんぶ定義「しなおす」のは確かにヘンですけど、
>>># mgl2.h の互換性を放棄して X11/keysymdef.h を include したやつで libmgl2
>>># を make しなおしたほうが話が簡単かもしれん。
といっちゃん最初に書いたように、目の前に定義の列があるんなら、それを使っては
いけない理由がないところで subset を用意するものもなんだかなと。
s/XK_/MK_/ 程度で定義は簡単に増やすことができるので ... ってゆうか DM の
ほうではほとんど s/XK_/MK_/ に近いことしてるけども。
キーの定義はどちらも 2 バイトで表現できる範囲で定義してるし。
MGL_SK_EXTRANSLATED 使って Xserver 書きかけたところでシフトキーの範囲が狭くて
定義拡大してたわけですが、ま、確かに PDA 基準にしてものごと考えてると PDA の
シフトキーのバリエーションの共通集合で定義つくりたくなるんですが、X 基準にして
X のシフトキーに足りない分はそれぞれの PDA でどーにかしなさい、という考え方も
あるわけですよね。実際どうやっても 1 ボタンマウスモデルにしかならない PDA で
むりやり 3 ボタン定義してみせてる訳ですし。
アプリのプロトタイプは常に mgl2 on X の上なので、ものごと考える時は mgl2 も
on X 基準になってるほうが何かと楽ではないかと。
... という思想レベルの提言なので実装や API 的に詰めるのは、だから X 書いてから、
と思ってたんですが... mgl-019-k1 (まだ obsulute にしてねーな) では
臨時にだからってんで平然と mgl2 の内部をフックできるようにしてたりするし。
# mgl2 内のシフトキー状態を外から取れるようにした。これはおそらく API としても
# 必要になるものの一つだと思う。
--
神木一也@クロス用の xmkmf/imake の書き方が分からへん