[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Xmgl
神木です。
まったく同じことをしてたりしますが ...
途中まで mgl2 使ってましたが、結局 X server (← VNCserver 由来) からは
いまのところ mgl2 を外す方針でいます。理由は以下の通り、mgl2 の keymode
周りの実装不十分。
>From: suz@hpc.bs1.fc.nec.co.jp
>X-Ml-Count: 3472
>鈴木(康)です。
>mgl の上で 動く Xserver を作れないかやってみています。
>入力系は全然できていませんが、表示だけはできるようになりました。
> 1) 入力系 --- テンプレートは作ったんですが..
MGL_SK_RAW,MGL_SK_EXTRANSLATED の実装モデルをもすこし鮮明にしてほしいです。
mgl2 に手の入れようがないっす。いまのレベルだと OS の差を吸収できず、
mgl2 なしで書くのと同じです。
で、けっきょく
mgl2/lib に keymap/ 掘って
keymap/linux.c // linux 系の default keymap の面倒見。
keymap/linux/defkeymap.c // linux kernel の drivers/char/defkeymap.c そのもの。
などとして、mgl2 での default keymap の面倒見をさせるつもりで
コード書いてます(した) ... が、
シフトは mgl2.h の定義(MGL_SKM_xxx) では足りなかったので
0x00xx0000 の領域を使って適当に定義を入れてる ... Sticky Shift とか。
# 今この部分でつっかえてます。sticky がうまく動かん。
それと、とりあえず raw key mode で key event を取ってきた時に、key event を
mgl2 のほうに戻す仕掛けが欲しいな。
mgsrvcons の F9, F10 の機能をもいちど書き直すのはけっこうバカらしいです。
ついでに、mgl2 を挟んで OS 独立にしようとすると keycode 変換が無意味に
たくさん入るのもちょっち。
MK_F12 (= 0x10c) とかの値って何に由来するんでしたっけ。
MK_F13 〜 MK_F15 に相当する領域(0x10d 〜 0x10f) が空いてたので
F13 〜 F15 を追加しておいたけど、F16 〜 F20 も欲しい。でもスペースがない...
MC-R7x0 の左右のアイコン扱うのに最終的に F24 くらいまで必要なんでは。
# mgl2.h の互換性を放棄して X11/keysymdef.h を include したやつで libmgl2
# を make しなおしたほうが話が簡単かもしれん。
以上、入力周り書いてて思ったことでした。
>それで、mgl に gtk を組み込めないか検討してみたんですが、
>かなり大変そうです。また、gtk 単独でも 相当サイズが大きいみたいなので、
>間に X が入っても 相対的にたいしたことないんじゃないかという気が
>してきました。
microwindows はいかが :-)
gtk が移植されてます。(されつつある、位かな)
個人的には、 VNCserver/viewer ペアが MicroWindows よか速かったので
素直に X を実装するほうに向いてますが、Xserver ごと書き直したら
microwindows と同レベルに落ちる気がちょっとしている ...
# VNCserver/viewer ペアはプロセスが分かれていることで
# 速くなってる(draw をサボってる部分がある)と思うので。
--
神木一也