Auf meinem Laptop tritt ein anhaltendes Problem auf, bei dem Tastenanschläge auf der Leertaste wiederholt werden. Nachdem ich eine Reihe von Ersetzungen durchlaufen und mehrere Betriebssysteme ausprobiert habe, habe ich festgestellt, dass es sich um ein Hardwareproblem handelt, nicht um ein Softwareproblem.
Glücklicherweise erfuhr ich, dass Ubuntu eine Funktion namens Bounce-Keys hatte, mit der ich dem Problem entgegenwirken konnte, da wiederholte Tastenanschläge gefiltert wurden.
Wenn Sie jedoch die Lösung für alle Schlüssel aktivieren, werden manchmal Schlüssel gefiltert, die nicht gefiltert werden sollen. Wenn ich zum Beispiel Hallo tippe , drücke ich oft schnell hintereinander die beiden Ls , aber manchmal wird eines der Ls gefiltert, was ziemlich ärgerlich sein kann. Ich weiß, dass ich die Leertaste niemals zweimal so schnell hintereinander drücken muss, und da ich nur Probleme mit der Leertaste habe, möchte ich nur die Bounce-Tasten auf der Leertaste aktivieren.
Ist es also möglich, nur Bounce-Tasten in der Leertaste zu aktivieren?
Antworten:
xset - Dienstprogramm für Benutzereinstellungen für X.
r dient zur Steuerung der automatischen Wiederholung.
deaktiviert die automatische Wiederholung für die Taste "1".
aktiviert die automatische Wiederholung für die Taste "1".
In meinem Fall lautet der Schlüsselcode für die Leertaste 65. Überprüfen Sie Ihren Code mit dem folgenden Code:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
Wenn Sie jedoch die Geschwindigkeit der Tasten ändern müssen, können Sie auch den Ratenparameter verwenden.
Fügen Sie diesen Befehl auch zu Ihrer Sitzungsstart-Skriptdatei hinzu.
quelle
xset q
. Es ist ein 256-Bit-Array, das hexadezimal ausgegeben wird und ziemlich schwer zu lesen ist.Ich habe eine Lösung für Sie gefunden, aber es geht nicht um Bounce Keys. Was ich hier mache, ist, die Leertaste / Tastatur bei jedem Drücken der Leertaste für eine kurze Zeit zu deaktivieren. Also los geht's:
Wir verwenden
xbindkeys
, um die Leertaste zu drücken (in diesem Fall Release) undxdotool
um Leerzeichen einzufügen. Installieren Sie sie, wenn Sie sie nicht auf Ihrem System haben:Eine xbindkeys-Konfigurationsdatei sollte unter dem Namen in Ihrem Home-Ordner angezeigt worden sein. Andernfalls erstellen Sie eine solche
.xbindkeysrc
:Kopieren Sie das Snippet und fügen Sie es in Ihre .xbindkeysrc-Datei ein.
Hier
<kbd-id>
ist die Tastatur-ID, die perxinput
Befehl ermittelt werden kann. Jetzt möchten Sie xbindkeys so konfigurieren, dass sie bei jedem Start Ihres Computers gestartet werden.Öffnen
/etc/rc.local
und fügen Sie die Zeilexbindkeys
vorexit 0
.Du bist fertig. Öffnen Sie ein Terminal und geben Sie es ein
xbindkeys
, um es vorerst zu starten. Sehen Sie, ob es den Job macht. Wenn die doppelten Leerzeichen oder Zeichen nach dem Fehlen von Leerzeichen nicht abgefangen wurden, passen Sie dasdelay
in unserem Befehl~/.xbindkeysrc
entsprechend an und starten Sie es neu.Verweise:
quelle
xinput float 13 ; sleep .1 ; xinput reattach 13 3
, was funktioniert . Die Lösung selbst funktioniert jedoch nicht. Wenn ich xbindkeys mit diesem Befehl starte, gibt die Leertaste kein Leerzeichen mehr ein. Die Tastatur wird zwar kurzzeitig deaktiviert, es wird jedoch kein Leerzeichen eingegeben. Mache ich etwas falsch?xmodmap -e 'keycode 65=NoSymbol' ; sleep .1; xmodmap -e 'keycode 65=KP_Space
xinput
. Aber das brauchen wir nicht, Sie haben einen Weg gefunden, den Speicherplatz allein zu deaktivieren.xdotool getactivewindow key KP_Space
, aber es funktioniert nicht.xdotool key space
funktioniert auch nicht und jede andere Methode, die ich versucht habe, ein Leerzeichen einzufügen, ist fehlgeschlagen.