Shift+Ctrl+[左|右]テキストを強調表示し、入力した最初の2文字を無視して入力します。

Shift+Ctrl+[左|右]テキストを強調表示し、入力した最初の2文字を無視して入力します。

私はopenSuseを使用しています。今週、作業中のITチームが私のためにインストールしました。私は通常、Shift + Ctrl +矢印キーのいずれかを使用してテキストを強調表示し、強調表示されたテキストを置き換えるために単純に入力するのに慣れています。

マウスでテキストを強調表示して入力を開始すると、すべてがうまく機能します。キーボードの組み合わせを使用してテキストを強調表示すると、入力した最初の文字が強調表示されたテキストを削除し、2番目の文字は何もしませんでした。この動作は、アプリケーションに関係なく発生するようです。 Google Chrome(URLバーではない)、Firefox、Eclipseのテキストエディタで見たことがあります。

何が起こっているのかわかりませんが、これは本当に迷惑で、Eclipseで遅くなります。

修正する:私は小人です。 Open Officeの作家、Google Chrome、Firefox、Eclipse、Thunderbirdでこれらの動作を見たことがあります。私がやったいいえTomboy Notesまたはgeditで確認してください。

答え1

これはしばらく私を悩ませました。

右Ctrlの代わりに左Ctrlを使用すると(矢印キーに近いので、この方法を使用してきました)、この問題は解決されました。

理由と設定のどこかで変更できるかどうかを知りたいです。私もopenSuseとEclipseを使用します。

編集:ここで説明されているように.Xmodmapファイルを使用して問題を解決しました。 http://forums.opensuse.org/showthread.php/450727-How-to-change-or-disable-compose-key-in-OpenSuse-11-3

デフォルトでは、右側のCtrlはマルチキー文字のキーの組み合わせなので、この問題が発生します。

EDIT2:上記の修正はしばらく前には機能しませんでした。 Xmodmapを使用して問題を解決する別の方法を見つけました。今回は、私のホームディレクトリの.Xmodmapファイルにアクティブな行が1つしかありません。

キーコード 105 = Control_R Control_R Control_R Control_R Control_R Control_R

以前は、キー105が次のようにマッピングされていた。

Control_R マルチキーControl_R マルチキーControl_R マルチキー

つまり、Control_RでShift、Alt、またはMetaを押すとMulti_Keyになり、この問題が発生します。

答え2

これにより、最初と2番目の文字が選択したテキストを上書きすると予想できます。そうですか?

何を印刷しますかxev
(ターミナルで実行したら、ウィンドウの上にマウスを移動してキーを押します
Ctrl Shift Left Left a b。)

私にとっては、それがまさにそのようなことです。

長押ししCtrlてからShift...

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143718968, (47,65), root:(48,147),
        state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143719024, (47,65), root:(48,147),
        state 0x14, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

それからLeftLeft...

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143720176, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143720280, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143720952, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143721040, (47,65), root:(48,147),
        state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

それからそれを放しCtrlてくださいShift...

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143723304, (47,65), root:(48,147),
        state 0x15, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143723304, (47,65), root:(48,147),
        state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

次に、を押しますab

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143724576, (47,65), root:(48,147),
        state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
        XLookupString gives 1 bytes: (61) "a"
        XmbLookupString gives 1 bytes: (61) "a"
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143724672, (47,65), root:(48,147),
        state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
        XLookupString gives 1 bytes: (61) "a"
        XFilterEvent returns: False

    KeyPress event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143725048, (47,65), root:(48,147),
        state 0x10, keycode 57 (keysym 0x62, b), same_screen YES,
        XLookupString gives 1 bytes: (62) "b"
        XmbLookupString gives 1 bytes: (62) "b"
        XFilterEvent returns: False

    KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
        root 0x109, subw 0x4c00002, time 143725136, (47,65), root:(48,147),
        state 0x10, keycode 57 (keysym 0x62, b), same_screen YES,
        XLookupString gives 1 bytes: (62) "b"
        XFilterEvent returns: False

Ctrl私は最後の2つのブロックを置いたときとShift押したときにa b違いがあるかどうかを確認するために特別な注意を払いました。

他のアイデア:

  • 接着式の鍵はありますか?
  • キーボードのレイアウトや言語を変更するようにCtrl設定しましたか?Shift

関連情報