これがどのようにして起こったのか正確にはわかりません。昨日押しました CTRL + C Firefoxに表示されたWebページからURLをコピーするために、私はそれ以外の何かに触れたようです CTRL + C そしてFirefoxはホームページに新しいタブをロードしました。それ以来、押すだけで CTRL Firefoxがホームページをロードします。今日、私は CTRL Nautilusウィンドウでホームディレクトリをロードします。
これは、以前のように何かをコピーしたいときに問題を引き起こしています CTRL + C、 CTRL + V キー。
これを読んだ後 デフォルトのキーボードショートカットを復元するにはどうすればよいですか? 、dconf-editorを使用してこれらの場所を調べました。
org.gnome.settings-daemon.plugins.media-keys
org.compiz.integrated
org.gnome.desktop.wm.keybindings
org.gnome.Shell.keybindings
しかし、エントリマッピングが見つかりませんでした CTRL 一人で。
このキーマッピングはどこにありますか?
更新:System->Keyboard->Shortcuts
に空のショートカットを作成し、sh -c ""
のような空のコマンドを割り当てて、問題が解消するかどうかを確認しようとしましたが、効果はありません。押すと CTRL 新しいショートカットがキーの組み合わせが記録されるのを待っている間、キーは<Primary>HomePage
のorg.gnome.settings-daemon.plugins.media-keys
をdconf-editor
に記録します。 <Ctrl>
を使用して、<Primary>
またはdconf-editor
またはHomePage
に置き換えてみましたが、何も変わりません。また、<Ctrl>
だけを指定すると、Keyboard->Shortcuts
をもう一度見ると、カスタムショートカットに値Disabled
が表示されるため、有効ではないようです。
更新:次のコマンドを使用してすべてをリセットしようとしました:
gsettings reset-recursively <insert location>
キーバインドが保存されている4つの既知の場所すべての<insert location>
を変更し、場所ごとにコマンドを実行します。無効、 CTRL キーは依然としてホームページとホームディレクトリを読み込みます。他にどこを見ることができますか?
Xevを実行して左CTRLを押すと、次のようになります。
KeyPress event, serial 34, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5826943, (952,482), root:(952,534),
state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5826947, (952,482), root:(952,534),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5827041, (952,482), root:(952,534),
state 0x14, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4c00001,
root 0x290, subw 0x0, time 5827047, (952,482), root:(952,534),
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 37, synthetic NO, window 0x4c00001,
mode NotifyNormal, detail NotifyNonlinear
PropertyNotify event, serial 37, synthetic NO, window 0x4c00001,
atom 0x13a (_NET_WM_STATE), time 5858181, state PropertyNewValue
キーコード37は、Linuxを実行している他のPCと同じです。ただし、Key 180はこのPCでのみ表示されます。 XF86HomePageとは何ですか?また、キーの組み合わせを押すだけで、CTRLにどのようにマッピングされるのでしょうか。
これにより、CTRLキーの煩わしい動作が取り除かれます。
xmodmap -e "keycode 180 = "
しかし、Ubuntuがxkbを使用しているため、毎回の起動で問題が発生することを知っています。 buntu 13.04の永続的なxmodmap
私が理解できないのは、エラーによっていくつかのキーの組み合わせを押したからといって、Left CTRLキーがキーコード37を送信し、その後すぐにキーコード180を送信する理由です。
これは偶発的なキーの組み合わせによって引き起こされたのではないかと思い始めました。いくつかのアップデートで導入された可能性があります。 CTRL キーが奇妙に振る舞い始めました。
これは関連していると思います: https://unix.stackexchange.com/questions/88269/a-single-key-on-keyboard-produces-extra-keypresses-for-each-simultaneously-press
私のキーボードもUSBです。おそらく1年前にその質問が出されましたが、問題は非常によく似ており、単一のキーが複数のキーコードを生成します。正確なキーボードは1年前には影響を受けなかったのかもしれませんが、一部のアップデートが今それを壊しました。もう1つの可能性はハードウェア障害です。別のキーボードを試し、報告します。
確認しました。私のGenius USBキーボードだけがキーコード37を生成し、その後すぐにキーコード180を生成します。XtremeUSBキーボードをフロントパネルに接続し、左を押すと、このキーボードが37以外のキーコードを生成しないことをxevを使用して確認しました。 CTRL キー。
今では、CTRL + Cの組み合わせを使用してテキストをコピーしているので、このGeniusキーボードは以前はこれを実行していなかったと確信しています。たぶん壊れただけかもしれません。常にxmodmapを実行しなくても、キーコード180を無効にする方法を見つけたらすぐにこの質問に回答します。
退屈な答え。他の誰かがより良い説明を提供するまで、これはハードウェア障害の場合です。問題のあるキーボードを交換しましたが、キーコード37に続いてキーコード180はなくなりました。
ハードウェア障害の診断に賛成するのではなく、奇妙なことに、同じ問題のあるキーボードがキーコード180を生成しない場合、 CTRL 接続した他のPCでを押します。
この情報が役に立った場合に備えて:問題のあるキーボードはUSBだったと私の質問で申し訳ありませんが、キーボードを交換するためにコンピューターのケースを移動するまでコネクターが見えなかったため、実際にはPS2です。以前このPCに接続されていた他のキーボードを考えていたので、USBを想定したと思います。