川口です だいぶ間が空いてしまいすみません.
Xorg 起動時に,ctrl キーなどの modifier が全うに扱えず, * kinput2 が起動できるが終了できない * window manager の keyboard shortcut (modifier + key)について, アプリケーションwindow上にカーソルがあると,shortcut操作ができない. (X11 root window 上に カーソルがある場合は操作できる) * 症状のまとめは [FreeBSD-users-jp 92648] (たぶん Xorg 7.4 以降で「ごく一部の人」に発生しているっぽい) という問題関連の追加情報です 具体的には,以前 [FreeBSD-users-jp 92623] にて,私が 「Xorg を起動して終了して,もう一度Xorg起動するだけで 上記の問題に対する対症療法的解決は出来る」 と言った件の,発生要件を絞りました. 以下に示す .xinitrc で当方の手元では 「xinit 2回実行で,key modifier が正常反応」になります. 最初の4行はまあ関係ないと思います(最小化の消し忘れ). 関係があるっぽいのが [xmodmap-*] と [xset-1]と ラベルをつけている行です. * [xmodmap-*] の行だけでは起動・終了を繰り返しても× * [xset-1] (auto repeat設定)だけでの起動・終了の繰り返しも駄目 つまり,両方記述した xinitrc が,_なぜか_ 有効. また,[xmodmap-2] ヌキも駄目みたいです. ([xmodmap-2] の記述内容は多分みなさんの好みで良いはずと思います) なぜ,これで改善されるのか,は全く分かりません. 何かキーイベントを管理しているレイヤに,何らかの初期化処理を 繰り返すと復活するとかそんな感じっぽいですが… 怪しげな情報ですみませんが,とりあえず追加情報ということで. P.S. In Sat, Feb 13, 2010 at 10:39:59PM +0900, Satoshi Kimura <satosi.kim...@nifty.com> wrote: > 根拠の書かれた資料が見つからないのですが,.xinitrc って以下の > ように,Window Manager は最後に exec で,って理解しておりました. .snip. > もちろん,川口さんも根拠があってそうしているのだと思いますが. この辺は,太古の昔に「window manager を切り替えて遊ぶ」ことを していた名残ですね.「wm を exec 方式」で困ることは 通常ほとんどありませんが,たまに wm がクラッシュすると window manager だけ立ち上げ直せば X のセッションは生き残ることができる, というのは今でも稀に発生します. xinitrc/xsessionへの要求は, 「セッション継続の間,終了しないアプリケーションを最後にforeground実行」 以上の意味はないはずです.(xlogout なんてアプリケーションもありますね) ### .xinitrc ######################################## #!/bin/sh trap '' hup export LC_CTYPE=ja_JP.eucJP export LC_TIME=C export LANG=ja_JP.eucJP xmodmap xmodmaprc.nocaps # [xmodmap-1] xmodmap xmodmaprc.keymap # [xmodmap-2] xmodmap xmodmaprc.addctrl # [xmodmap-3] kterm -geometry 115x48-0+0 & xset r rate 500 40 & # [xset-1] exec ctwm -display $DISPLAY > /dev/null 2>&1 ### xmodmaprc.nocaps ######################################## remove Lock = Caps_Lock keysym Caps_Lock = Control_L ### xmodmaprc.addctrl ######################################## clear Control clear Mod1 clear Mod2 clear Mod3 clear Mod4 clear Mod5 add Shift = Shift_R add Shift = Shift_L add Control = Control_R add Control = Control_L add Mod1 = Meta_L add Mod1 = Alt_L add Mod1 = Alt_R ### xmodmaprc.keymap ######################################## #### xmodmap -pke 出力まるごとを適当な配置に弄りなおしたもの. #### 念のため,xmodmap.keymap の正体丸ごとを以下に示します ############################################################# keycode 8 = keycode 9 = grave asciitilde keycode 10 = 1 exclam keycode 11 = 2 at keycode 12 = 3 numbersign keycode 13 = 4 dollar keycode 14 = 5 percent keycode 15 = 6 asciicircum keycode 16 = 7 ampersand keycode 17 = 8 asterisk keycode 18 = 9 parenleft keycode 19 = 0 parenright keycode 20 = minus underscore keycode 21 = equal plus !keycode 22 = BackSpace keycode 22 = Delete keycode 23 = Tab keycode 24 = q Q keycode 25 = w W keycode 26 = e E keycode 27 = r R keycode 28 = t T keycode 29 = y Y keycode 30 = u U keycode 31 = i I keycode 32 = o O keycode 33 = p P keycode 34 = bracketleft braceleft keycode 35 = bracketright braceright keycode 36 = Return keycode 37 = Control_L keycode 38 = a A keycode 39 = s S keycode 40 = d D keycode 41 = f F keycode 42 = g G keycode 43 = h H keycode 44 = j J keycode 45 = k K keycode 46 = l L keycode 47 = semicolon colon keycode 48 = apostrophe quotedbl keycode 49 = Escape keycode 50 = Shift_L keycode 51 = backslash bar keycode 52 = z Z keycode 53 = x X keycode 54 = c C keycode 55 = v V keycode 56 = b B keycode 57 = n N keycode 58 = m M keycode 59 = comma less keycode 60 = period greater keycode 61 = slash question keycode 62 = Shift_R keycode 63 = KP_Multiply keycode 64 = Alt_L Meta_L keycode 65 = space !!keycode 66 = Caps_Lock ! no Caps_Lock needed. keycode 66 = Control_L keycode 67 = F1 NoSymbol Alt_R keycode 68 = F2 NoSymbol Control_L keycode 69 = F3 NoSymbol Control_R keycode 70 = F4 keycode 71 = F5 keycode 72 = F6 keycode 73 = F7 keycode 74 = F8 keycode 75 = F9 keycode 76 = F10 keycode 77 = Num_Lock keycode 78 = Multi_key keycode 79 = KP_Home KP_7 keycode 80 = KP_Up KP_8 keycode 81 = KP_Prior KP_9 keycode 82 = KP_Subtract keycode 83 = KP_Left KP_4 keycode 84 = NoSymbol KP_5 keycode 85 = KP_Right KP_6 keycode 86 = KP_Add keycode 87 = KP_End KP_1 keycode 88 = KP_Down KP_2 keycode 89 = KP_Next KP_3 keycode 90 = KP_Insert KP_0 keycode 91 = KP_Delete KP_Decimal keycode 92 = Sys_Req keycode 93 = keycode 94 = keycode 95 = F11 keycode 96 = F12 keycode 97 = Home keycode 98 = Up keycode 99 = Prior keycode 100 = Left keycode 101 = Begin keycode 102 = Right keycode 103 = End keycode 104 = Down keycode 105 = Next keycode 106 = Insert !keycode 107 = Delete keycode 107 = BackSpace keycode 108 = KP_Enter keycode 109 = Control_R keycode 110 = Pause keycode 111 = Print keycode 112 = KP_Divide keycode 113 = Alt_R Meta_R keycode 114 = Break keycode 115 = Meta_L keycode 116 = Meta_R keycode 117 = Menu keycode 118 = keycode 119 = !keycode 120 = ! 120 = Hiragana Katakana !keycode 120 = space keycode 120 = Alt_L Meta_L keycode 121 = keycode 122 = !keycode 123 = !keycode 123 is left neighbour of Shift_R !keycode 123 = grave asciitilde keycode 123 = Shift_R keycode 124 = keycode 125 = keycode 126 = keycode 127 = keycode 128 = !keycode 129 = ! 129 = Henkan Zenkouho !keycode 129 = space keycode 129 = Control_L keycode 130 = !keycode 131 = ! 131 = Muhenkan keycode 131 = grave asciitilde keycode 132 = !keycode 133 = ! 133 (left neighbour of BS key) ==> Delete keycode 133 = Delete keycode 134 = !! 208: Hiragana/Katakana keycode 208 = Alt_R Meta_R !! 211: Henkan keycode 211 = Shift_R -- ∧∧ Zzz.. (- - )⌒⌒⊇〜 川口 銀河 ############## ginga-free...@ginganet.org