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

Re: Xmgl



鈴木(康)です。
<200011081125.LAA19346@atropos.fsn.7n1umj>の記事において
kensyu@y.email.ne.jpさんは書きました。

  | 神木です。
  | まったく同じことをしてたりしますが ...
  | 途中まで mgl2 使ってましたが、結局 X server (← VNCserver 由来) からは
  | いまのところ mgl2 を外す方針でいます。理由は以下の通り、mgl2 の keymode 
  | 周りの実装不十分。

Xserver の Imakefile には、
 *  CFB4DIR  = cfb4  (if the server needs 4 bit cfb)
って書いてあるのですが、CFB4 ってのは、使えないんでしょうか?

もし使えるとすれば、linux-fb の Xドライバに CFB4 を突っ込むのが
(神木さんの立場では)一番楽で 実行も速そうだという気がします。

使えないならば、Xvnc ベースでないと苦しそうです。
理由は、疑似フレームバッファから 実際のフレームバッファへの
update をサポートするための仕組みが入っているから。

それはともかく、mgl2 の 問題点が明らかになれば 直すこともできるので
詳細を説明して欲しいです。

  |    >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 
  | そのもの。

これが解決しようとする問題はなにでしょう?

私は、Xserver は、MGL_SK_RAW だけ使うのかなと思っていました。

ひょっとして、MGL_SK_EXTRANSLATED の実装モデルが、Xの keymap のところで
使えるものになっていると良いという話 でしょうか?

これは考えてもみなかった機能です。作る価値はあるかも知れない。

  | などとして、mgl2 での default keymap の面倒見をさせるつもりで
  | コード書いてます(した) ... が、
  | 
  | シフトは mgl2.h の定義(MGL_SKM_xxx) では足りなかったので
  | 0x00xx0000 の領域を使って適当に定義を入れてる ... Sticky Shift とか。
  | # 今この部分でつっかえてます。sticky がうまく動かん。

そういうことなら、MGL_SKM_xxx が足りないという意味が理解できます。

  | それと、とりあえず raw key mode で 
  | key event を取ってきた時に、key event を
  | mgl2 のほうに戻す仕掛けが欲しいな。
  | mgsrvcons の F9, F10 の機能をもいちど書き直すのはけっこうバカらしいです。

これは?
unget_key() が欲しいという話はときどき聞くので、入れてもいいとは
思っているんですが、それと mglsvrcons の関係が理解できていないです。

  | ついでに、mgl2 を挟んで OS 独立にしようとすると keycode 変換が無意味に
  | たくさん入るのもちょっち。

  | MK_F12 (= 0x10c) とかの値って何に由来するんでしたっけ。

値そのものは、適当に近いです。最初は EUC の漢字と ぶつからなければ
なんでも良いと思っていました。

ちなみに F12 まで一応付けたのは、PC のキーボードを見たせい。
初代モバギには、F10 までしかないので、蛇足ですね。

  | MK_F13 〜 MK_F15 に相当する領域(0x10d 〜 0x10f) が空いてたので
  | F13 〜 F15 を追加しておいたけど、F16 〜 F20 も欲しい。
  | でもスペースがない...

これは X と共用できる translate の仕組み として必要ということでしょうか?

このあたりよくよく考えてみる必要がありそうです。
MGL では、最大公約数 的なものを目指しているので、X のように最大公倍数
的なものを目指しているもの とは相性が悪い。

うまく設計しないといけないような気がします。

全部 X の流儀で 作らなくても、イベントを X の中につっこめさえすれば、
使えてしまうんじゃないかと思うんですがどうでしょう?

  | microwindows はいかが :-)
  | gtk が移植されてます。(されつつある、位かな)

ggi でも gtk が移植されつつあるそうです。

こういうプロジェクトの結果 gtk のサブセットみたいなものができて
mgl に移植しやすくなったら mgl の直接 port を考えたいのですが、
今は、すなおに X を移植した方が有益じゃないかと思います。

  | 個人的には、 VNCserver/viewer ペアが MicroWindows よか速かったので
  | 素直に X を実装するほうに向いてますが、Xserver ごと書き直したら
  | microwindows と同レベルに落ちる気がちょっとしている ...

どう作っても X は X のような気がします。mi なところはなかなか手が
入れられない。

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