web-dev-qa-db-ja.com

突然等号(=)を入力できない

この問題に似た他の投稿をいくつか見ましたが、ソリューションを実装することができませんでした。この問題を解決する既存の投稿を誰かが見つけた場合は、喜んでこれを重複としてマークします。

正確なタイミングはわかりませんが、おそらく過去1週間ほどで、等号キーに等号(=)が入力されなくなりました。この投稿を書くには、コピーして貼り付ける必要があります。

同じ症状がオンボードキーボードにも当てはまります(同等のキーがないように見える仮想キーボードと混同しないでください)。これは、ハードウェアの問題ではありません。

Shift +等号は引き続き正符号(+)を入力しますが、物理的なキーボードでのキーの組み合わせがないと、Webブラウザーや他のほとんどのアプリケーションで等号(=)が生成されます。これまでに見つけた物理キーボードの2つの例外は、GNOMEターミナルです。端末では、CtrlキーまたはWindowsキーと等号キーの組み合わせにより、等号になります。さらに、ほとんどのテキストエディター(LibreOffice Writer、Visual Studio Code、Xedテキストエディター)では、Windowsキーと等号が等号を入力します。

Tty(Ctrl + Alt + F2)の場合、修飾キーなしで通常はイコールキーを使用することもできます。私が問題を抱えているのはシナモン内だけです。

キーボードレイアウトは1つしかありません-英語(米国)。

システム仕様:

_System:
  Host:       {HostName}
  Kernel:     5.3.0-28-generic x86_64
    bits:     64
    compiler: gcc
    v:        7.4.0 
  Desktop:    Cinnamon 4.4.8
    wm:       muffin
    dm:       LightDM
  Distro:     Linux Mint 19.3 Tricia 
    base:     Ubuntu 18.04 bionic 
Machine:
  Type:       Laptop
  System:     Acer
    product:  Aspire A717-72G
    v:        V1.19
    serial:   <filter> 
  Mobo:       CFL
    model:    Charizard_CFS
    v:        V1.19
    serial:   <filter>
  UEFI:       Insyde
    v:        1.19 
    date:     07/13/2018 
_

過去数週間にカーネルの更新がありました。ストローをつかんでトラブルに巻き込まれたくなかったので、カーネルを以前のバージョンにロールバックすることは避けたので、これを最初に投稿すると思いました。

更新:

これは 正確に問題 ですが、この問題はWindowsにあります。

何度か再起動し、複数の修飾子を複数回チェックしてスタックキーがないか確認しましたが、役に立ちませんでした。最終的に問題を投稿することを決定する前に私は何日もこれを台無しにしました。それがリブートまたはスタック・キーのように単純だったとしたら、私はそれが今までに解決されるのを見たと思います。

xevを使用すると、次のことが明らかになります(私はxevを初めて使用し、これが何を意味するかをまだ学習しています)。

等しいキー:

_KeymapNotify event, serial 28, synthetic NO, window 0x0,
keys:  66  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
       0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
_

私が試した他のすべてのキープレスの例(Shift +等しいキー):

_KeyPress event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11019227, (-650,-317), root:(211,139),
state 0x10, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11019779, (-650,-317), root:(211,139),
state 0x11, keycode 21 (keysym 0x2b, plus), same_screen YES,
XLookupString gives 1 bytes: (2b) "+"
XmbLookupString gives 1 bytes: (2b) "+"
XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11019879, (-650,-317), root:(211,139),
state 0x11, keycode 21 (keysym 0x2b, plus), same_screen YES,
XLookupString gives 1 bytes: (2b) "+"
XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11020216, (-650,-317), root:(211,139),
state 0x11, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False
_

同等のキープレスは、KeyPressイベントではなくKeymapNotifyイベントとして登録されます。 _xev -event keyboard_を指定すると、等しいキープレス(KeymapNotifyイベント)は、マウスカーソルが固定ウィンドウを横切るときと同じ出力になります。

興味深いことに、Shift以外の修飾子(Windows/Super、Ctrl、Altなど)+等号を使用すると、等号を示すxev応答が返されます。

_KeyPress event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11051562, (-650,-317), root:(211,139),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11051836, (-650,-317), root:(211,139),
state 0x18, keycode 21 (keysym 0x3d, equal), same_screen YES,
XLookupString gives 1 bytes: (3d) "="
XmbLookupString gives 1 bytes: (3d) "="
XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11051930, (-650,-317), root:(211,139),
state 0x18, keycode 21 (keysym 0x3d, equal), same_screen YES,
XLookupString gives 1 bytes: (3d) "="
XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x7800001,
root 0x242, subw 0x0, time 11052111, (-650,-317), root:(211,139),
state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False
_

xev | gawk '/keycode/{if($0!=l)print;l=$0;}'を使用して余分なデータを除外すると、キーを押すたびに、等号以外の行が返されます(Shift +等号は考えられます-3行目と4行目を参照)。

_state 0x10, keycode 36 (keysym 0xff0d, Return), same_screen YES,
state 0x10, keycode 20 (keysym 0x2d, minus), same_screen YES,
state 0x10, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
state 0x11, keycode 21 (keysym 0x2b, plus), same_screen YES,
state 0x11, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x14, keycode 54 (keysym 0x63, c), same_screen YES,
state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
_

キーコードはマップされていますが、Xサーバーはこのキープレスを認識していないようです。

_xmodmap -pke | grep equal_は_keycode 21 = equal plus equal plus_になります。

追加情報:

_$ setxkbmap -query
  rules:      evdev
  model:      pc105
  layout:     us
  options:    terminate:ctrl_alt_bksp`
_
3
WutDuk

入力できるPuppyLinuxで同じ問題がありました ) しかし、 。次に、別のLinuxディストリビューションを試して、それが機能していることを確認しました。

これが私がミスを犯した方法です。最近、新しいキーバインディングを追加し、誤って無効なコードを入力しました(覚えていません)が、それが0 キャラクター。

(補足:私のウィンドウマネージャーはjwmまたはJoeのウィンドウマネージャーですが、実際には、どのディストリビューションやウィンドウマネージャーを使用してもかまいません。)

結論:問題が発生してから追加された新しいキーバインディングをチェックします。新しいプログラムが独自のキーバインディングを設定するか、自分で追加したキーバインディングを使用します。

3
fran

私はあなたとまったく同じ問題を抱えていました:=記号は、実際のキーボードと仮想キーボードの両方では機能しませんが、+します。

少なくとも1人に役立つ場合に備えて、このメッセージをここに残しておきます。 Alt+Z キーボードショートカットをデフォルトに戻します。

私の=記号はWindowsキーボードショートカットでした...何へのショートカットですか?わかりませんが、これらすべてをコピーして貼り付けるのは大変でした=の標識。

0
Jack Effiat