web-dev-qa-db-ja.com

Alt + Printscreenが機能しなくなった、イベントをリッスンしているプロセスを見つける方法

今日は非常に奇妙な問題。別の問題に関するスレッドを投稿するつもりだったので、ターミナルウィンドウのスクリーンショットを撮りたかったのです。準備完了、ヒット Alt+Printscreen そして何も起こらなかった。

キーボードショートカットに移動して、ショートカットの再定義が機能するかどうかを確認しました。やったに戻そうとしました Alt+Printscreen しかし、窓はキープレスを聞いてそこに座っていました。それは私がキーを押さなかったかのようです。

両方 Alt そして Printscreen キーは独立して正常に機能します...キーを押しながらxevの出力も調べてみました。 Altキーを押すと聞こえますが、その後Printscreenは聞こえません。

Compizとプレーンメタシティの両方からこれを試しました。予備のキーボードもあり、同じ動作を示します(1つのキーボードはPS/2であり、予備はUSBです。したがって、ポートの問題ではありません)。

イベントチェーンにイベントを吐き出す何かがあるので、他の人はそれを聞くことができません。私の質問は基本的に、特定のイベントに応答するプロセスをどのように見つけることができますか?

要求どおり:

oli@bert:~$ xmodmap -pke | grep -i mode
keycode  82 = KP_Subtract XF86_Prev_VMode KP_Subtract XF86_Prev_VMode
keycode  86 = KP_Add XF86_Next_VMode KP_Add XF86_Next_VMode
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 203 = Mode_switch NoSymbol Mode_switch

そして

oli@bert:~$ xmodmap -pke | grep -i print
keycode 107 = Print Sys_Req Print Sys_Req
keycode 218 = Print NoSymbol Print

編集:これを投稿したとき、私は自家製の2.6.35カーネルでLucidにいました。私の問題はXではなくカーネルに関連していることがわかりました。

誰かが、alt-printscreenがSysRqイベントをレンダリングすることを決定しました。技術的に言えば、おそらくそうすべきですが、これはLinuxおよびWindowsの10年以上にわたる「既知の振る舞い」に欠かせないものを壊します。

7
Oli

私の編集によると、これはカーネルバージョン2.6.35(およびおそらく後続のカーネル)に直接リンクされているようで、それによりalt + prscrはsysrqイベントをレンダリングします。

SysRqはバインドできないように見えます(少なくとも私の混乱から)が、次を/etc/sysctl.confに追加することにより、愚かな新しい動作を無効にできます。

kernel.sysrq = 0
5
Oli

PrintScreenは機能するが、alt + printscreenは機能しないことを示しているため、モディファイアマッピングに関係する可能性があります。

Altキーが2つある場合、両方で試して動作が同じかどうかを確認できますか?

また、ターミナルでxmodmap -pke | grep -i modeコマンドを実行し、altキーの1つが「モード切り替え」キーとしてマップされていることを確認できますか?通常、モード切り替えキーに割り当てられたコードを含む1つ以上のキーシム行が表示されます。

また、ターミナルでxmodmap -pke | grep -i printを実行し、等号の右側に印刷されたコードが下の行と一致するかどうかを確認します。

keycode 107 = Print Sys_Req Print Sys_Req

Keysym行の構文の説明については、 このページ を参照してください。

1
koushik
1
sinus

Print Screenを使用してみましたか? Altを使用したことは聞いたことがありません。

0
maco