川口です

やっぱりいろいろな組合わせを見れば見るほど良く分からない…

In Thu, Dec 03, 2009 at 02:42:55PM +0900,
NAKAJI Hiroyuki <nak...@jp.freebsd.org> wrote:
> でstartxしてみると、kinput2のon/offはできるようになりましたが、今度は「そ
> の周辺のメール」にあった、
> 
>     何か操作をしても、マウスをちょこっと動かさないと反映されない
> 
> が発現しました。

それも経験して hald あたりの悪さだったかなーと改めて
現在の様子を確認してみたんですが,結局 hald on/off はあまり
関係なかったみたいです(後述).

なので当方の環境に関しては,一般的なのと違った設定は↓くらいと考えます.
> Section "ServerFlags"
>         Option  "AllowEmptyInput"       "off"
> EndSection

ちなみに,boot して最初の xinit 時(←まともに使えない)と
それを終了してもういちど xinit (ctrl キーとか kinput2 とかも
含めてまともに使える)の Xorg.0.log を diff -u してみました(末尾).

いずれも hald/dbus は off になっている状態です.
(但し,このあと hald/dbus enable 状態で xinit したら
問題なく使えてしまったので,あまり関係なさそうです)


あと,久々に,最初のイベントをまともに処理できない Xorg 状態ですが,
window manager(ctwm)はまったく shift とかを認識しないわけではないです:

  * 「カーソルがkterm上にあるとき」:
    kterm 側に modifier イベントが取られてしまって(?),
    本来はそのイベントを横取りして,ウィンドウ操作などを行うはずの
     .twmrc などに記述したキー(ctrl+← など)が無視され,
    そのまま kterm 側に行ってしまう.
    (前回のメールで書いた症状)

  * 「カーソルが root window にあるとき」:
    このときは特殊キー(ctrl+← など)も ctwm にきちんと渡るようで,
    期待した動作(バーチャルデスクトップ切り替えなど)が出来ます.

  * 念のため xev を起動してみましたが,modifier イベント自体は
    発生しているようです.

また,動作確認のため現在 hald/dbus enable 状態にしてみて
使っているのですが,xev を起こしたら時々,
例の変な状態(マウスを動かすまでウィンドウが更新されない)が
発現するようです.なお,kinput2 は on/off 出来る状態です.

  * xev の window にカーソルをおいた状態で,
    ctrl+→(私の ctwm 設定では virtual desktop 切り替えで,
    xev 自体ともおさらばすることになるはずの操作)を押すと,
    変な状態に突入します.

  * xev ウィンドウで 「ctrl キーを押して離す」だけを実行すると
    いうのも変な状態になりやすい
    (必ずなるわけでもなさそうなので,これまた良く分からない)

  * あちこち(root window やらなにやら)で ctrl キーを押したり離したり
    しているとこちらの状態↑に関しては回復する? ようです.
    
結局謎なぞ関連の追加情報でしかないですが…
どなたか何か面白そうな話をご存じでしたら教えていただければ幸いです.


(参考)
手元での 1回目と2回目の xinit 時の Xorg.0.log の diff

--- Xorg.0.log.old      2009-12-06 23:15:50.000000000 +0900
+++ Xorg.0.log  2009-12-06 23:16:38.000000000 +0900
@@ -11,7 +11,7 @@
 Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
-(==) Log file: "/var/log/Xorg.0.log", Time: Sun Dec  6 23:14:00 2009
+(==) Log file: "/var/log/Xorg.0.log", Time: Sun Dec  6 23:16:26 2009
 (==) Using config file: "/etc/X11/xorg.conf"
 (==) No Layout section.  Using the first Screen section.
 (**) |-->Screen "Screen0" (0)
@@ -372,25 +372,14 @@
 (II) MGA(0): [drm] bpp: 32 depth: 24
 (II) MGA(0): [drm] Sarea 2200+664: 2864
 drmOpenDevice: node name is /dev/dri/card0
-Failed to change owner or group for file /dev/dri! 2: No such file or directory
-Failed to change owner or group for file /dev/dri/card0! 2: No such file or 
directory
-drmOpenDevice: open result is -1, (No such file or directory)
-Failed to change owner or group for file /dev/dri/card0! 2: No such file or 
directory
-drmOpenDevice: open result is -1, (No such file or directory)
-drmOpenDevice: Open failed
+drmOpenDevice: open result is 10, (OK)
 drmOpenDevice: node name is /dev/dri/card0
-Failed to change owner or group for file /dev/dri! 2: No such file or directory
-Failed to change owner or group for file /dev/dri/card0! 2: No such file or 
directory
-drmOpenDevice: open result is -1, (No such file or directory)
-Failed to change owner or group for file /dev/dri/card0! 2: No such file or 
directory
-drmOpenDevice: open result is -1, (No such file or directory)
-drmOpenDevice: Open failed
+drmOpenDevice: open result is 10, (OK)
 drmOpenByBusid: Searching for BusID pci:0000:05:00.0
 drmOpenDevice: node name is /dev/dri/card0
 drmOpenDevice: open result is 10, (OK)
 drmOpenByBusid: drmOpenMinor returns 10
 drmOpenByBusid: drmGetBusid reports pci:0000:05:00.0
-(II) [drm] loaded kernel module for "mga" driver.
 (II) [drm] DRM interface version 1.2
 (II) [drm] DRM open master succeeded.
 (II) MGA(0): [drm] Using the DRM lock SAREA also for drawables.


ちなみに hald enable するとこんなのが追加されるようです.
(PS/2 mouse & PS/2 keyboard 使ってます)

@@ -465,3 +465,33 @@
 (**) Option "CustomKeycodes" "off"
 (**) <default keyboard>: CustomKeycodes disabled
 (II) XINPUT: Adding extended input device "<default keyboard>" (type: KEYBOARD)
+(II) config/hal: Adding input device AT Keyboard
+(**) AT Keyboard: always reports core events
+(**) Option "Protocol" "standard"
+(**) AT Keyboard: Protocol: standard
+(**) Option "AutoRepeat" "500 30"
+(**) Option "XkbRules" "xorg"
+(**) AT Keyboard: XkbRules: "xorg"
+(**) Option "XkbModel" "pc105"
+(**) AT Keyboard: XkbModel: "pc105"
+(**) Option "XkbLayout" "us"
+(**) AT Keyboard: XkbLayout: "us"
+(**) Option "CustomKeycodes" "off"
+(**) AT Keyboard: CustomKeycodes disabled
+(II) XINPUT: Adding extended input device "AT Keyboard" (type: KEYBOARD)
+(II) config/hal: Adding input device PS/2 Mouse
+(**) PS/2 Mouse: Device: "/dev/sysmouse"
+(==) PS/2 Mouse: Protocol: "Auto"
+(**) PS/2 Mouse: always reports core events
+(**) Option "Device" "/dev/sysmouse"
+(==) PS/2 Mouse: Emulate3Buttons, Emulate3Timeout: 50
+(**) PS/2 Mouse: ZAxisMapping: buttons 4 and 5
+(**) PS/2 Mouse: Buttons: 9
+(**) PS/2 Mouse: Sensitivity: 1
+(II) XINPUT: Adding extended input device "PS/2 Mouse" (type: MOUSE)
+(**) PS/2 Mouse: (accel) keeping acceleration scheme 1
+(**) PS/2 Mouse: (accel) filter chain progression: 2.00
+(**) PS/2 Mouse: (accel) filter stage 0: 20.00 ms
+(**) PS/2 Mouse: (accel) set acceleration profile 0
+(II) PS/2 Mouse: SetupAuto: hw.iftype is 4, hw.model is 0
+(II) PS/2 Mouse: SetupAuto: protocol is SysMouse

-- 
       ∧∧
Zzz.. (- - )⌒⌒⊇〜           川口 銀河
      ##############   ginga-free...@ginganet.org

メールによる返信