Gibt es eine Standard- oder herkömmliche Tastenkombination zum Einfügen der primären Auswahl?
Ich möchte Text auswählen und zu einer anderen App wechseln, um ihn einzufügen, ohne den Inhalt der Zwischenablage zu verwerfen. Ich möchte lieber meine Finger auf der Tastatur lassen, als zur Maus zu gehen, den Mauszeiger zu finden, an der gewünschten Stelle zu positionieren und mit der mittleren Maustaste zu klicken.
Wenn es nichts Konventionelles gibt oder wenn es anwendungsspezifisch ist und von vielen nicht unterstützt wird, gibt es eine Problemumgehung, um dies global zum Laufen zu bringen? (Oder zumindest in mehr Anwendungen.)
keyboard
shortcut-keys
clipboard
Stefano Palazzo
quelle
quelle
Antworten:
Das Senden von virtuellen Tastendrücken funktioniert bei mir nicht (siehe Kommentare ), aber diese Antwort hat mich dazu inspiriert, nach ähnlichen Lösungen zu suchen. Das Senden eines "Text" -Ereignisses
xvkbd
ignoriert den aktuellen Status Ihrer physischen Tastatur:xvkbd -text
verwendet ein paar Backslash-Sequenzen, um nicht mit Flucht zu tanzen, sondern-file
funktioniert.xvkbd
gibt auch einen Warnungstext über Modifikatoren aus, der jedoch für diese Verwendung irrelevant zu sein scheint (aber ich wollte ihn nicht sehen~/.xsession-errors
).Ich habe dies mit System> Preferences> Keyboard Shortcuts an eine Verknüpfung gebunden .
Beachten Sie, dass Sie die Pakete xsel und xvkbd installiert haben müssen:
quelle
sh -c 'xsel | xvkbd -file - 2>/dev/null'
funktioniert, musste -xsendevent aussteigen es arbeiten zu machen.xsel
).xvkbd
.xsel
Funktioniert gut mit "éòü" in der primären Auswahl,xvkbd
schlägt jedoch wie im obigen Skript fehl. (Und scheitert auch mitxvkbd -text "éòü"
, obwohl es hier nichts druckt.)Sie erhalten dies durch die kombinierte Verwendung der Programme xdotool ( zum Installieren klicken ) und xsel ( zum Installieren klicken ).
xdotool
kann das Eintippen in ein Fenster simulieren;xsel
gibt den Inhalt der PRIMARY-Auswahl aus (standardmäßig); Der folgende Shell One Liner erledigt den Trick:Um dies über den Menüpunkt System-> Einstellungen-> Tastaturkürzel an eine beliebige Taste zu binden, muss sie in einen Shell-Aufruf eingeschlossen werden:
xdotool
Bei einigen Programmen funktioniert das Eintippen nicht. Beachten Sie die Hinweise in der Dokumentation zu xdotool .quelle
Ich suchte nach einer Antwort für genau diese Frage und fand diese Antwort , die besagt, dass Shift+ Insertarbeitet, um die primäre Auswahl einzufügen. Ich arbeite für mich. Einfacher.
quelle
Das Aufrufen
xdotool click --clearmodifiers 2
simuliert das Klicken mit der mittleren Maustaste. Dies funktioniert viel besser als die Verwendung von xsel (zumindest für mich). Sie müssen jedoch die Maus positionieren, bevor Sie tippen ...quelle
Ein weiterer xdotool-Vorschlag, der in Debian Jessie 8.7 (Januar 2017) funktioniert:
xdotool click
simuliert einen tatsächlichen Klick, so dass Sie nicht selbst klicken müssenxdotool type
, um an der Mausposition einzufügen , wie Sie es bei Verwendung von oder xvkbd getan hätten.Das einzige Problem ist, dass
--clearmodifiers
jeder Modifikator (Strg / Alt / Umschalt / Meta), den Sie nach der Simulation des Klicks verwenden, "gedrückt" wird. Selbst mit--delay 0
(statt 12 ms) dauert die Ausführung des Befehls etwas. Wenn Sie die Tasten vorzeitig loslassen, werden Ihre Modifikatoren erneut "gedrückt" und bleiben dort hängen, bis Sie die eigentliche Taste erneut drücken und loslassen.Daher muss man ein bisschen "langsam" sein (50ms?), Um die Modifikatoren freizugeben, wenn man welche verwendet.
Sie können dies testen, indem Sie Ihre Tastenkombination einrichten, sie in einem Texteditor verwenden und dann eine Taste (z. B.
a
oder einen Pfeil) drücken . Der Buchstabe sollte in Kleinbuchstaben angezeigt werden. Wenn etwas anderes passiert, sind Sie zu schnell und ein Modifikator bleibt hängen (z. B. Umschalt, wenn er in Großbuchstaben geschrieben ist, Strg, wenn Sie den gesamten Text ausgewählt haben, Alt, wenn Sie ein Menü geöffnet haben). Drücken Sie die Modifikatoren erneut und lassen Sie sie wieder los, um sie zurückzusetzen.Wenn Sie zu schnell sind, können Sie den Vorschlag von ilkerk verwenden:
Dann müssen Sie sie in weniger als 300 ms loslassen und eine halbe Sekunde warten, bis der Text angezeigt wird.
Verwenden
xdotool type
bedeutet auch, dass Sie den Text so einfügen, als ob Sie tippen würden, an der Position des Textcursors und nicht am Mauszeiger. Sie können dies ändern,click
wenn Sie das übliche Verhalten beim Klicken mit der mittleren Maustaste bevorzugen.(Dieser Beitrag wurde so gestaltet, dass Neulinge die in den Kommentaren verteilten Puzzleteile nicht mehr teilen müssen.)
quelle
Ich hatte Probleme mit den Lösungen, die das Einfügen der
PRIMARY
Auswahl simulieren , und habe stattdessen eine Verknüpfung hinzugefügt, die die Auswahl in die kopiertPRIMARY
CLIPBOARD
. Nach der Verwendung meiner Verknüpfung ich fügen Sie dieCLIPBOARD
in der üblichen Art und Weise, mitCtrl+V
,Ctrl+Shift+V
oderShift+Insert
, abhängig von der Anwendung.Der Befehl zum Kopieren der
PRIMARY
Auswahl inCLIPBOARD
istan die ich mich binde
Ctrl+Insert
(willkürliche Auswahl) in den Gnome-Verknüpfungseinstellungen unterSystem Settings -> Devices -> Keyboard
Zusammenfassung der Probleme mit anderen Lösungen: Ich habe die
xsel | xvkbd ...
undxsel | xdotool ...
-Lösungen ausprobiert , aber festgestellt, dass sie nicht sehr gut funktionieren, da sie die Auswahl zeichenweise simulieren. DiesPRIMARY
ist nicht dasselbe wie das Einfügen mit einem mittleren Klick. Zu den Problemen gehören: Es gibt eine lange Verzögerung, während eine große Auswahl zeichenweise eingefügt wird. Wenn Sie das Einfügen rückgängig machen möchten, müssen Sie es zeichenweise rückgängig machen, was langsam ist. wenn Sie "tote Schlüssel" verwenden, wird alles durcheinander gebracht, zB "Einfügen""e
erzeugtë
; Dasxvkdb
behandelt Unicode-Zeichen nicht richtig.Warnung: Diese Lösung überschreibt den vorhandenen
CLIPBOARD
Inhalt, aber das OP hat nach Lösungen gefragt, die den vorhandenenCLIPBOARD
Inhalt beibehalten .quelle
Ich hatte das gleiche Problem und die Internetsuche half mir nicht viel. Das Problem beim Simulieren von Klick 2 ist laut OP ärgerlich.
Das Problem mit dem oben vorgeschlagenen
xdotool
und dem xsel ist, dass Sie zuxdotool
Beginn des "Tippens" immer noch eine andere Taste drücken. Das führt nicht immer zu irgendeiner Ausgabe. Wenn Sie es beispielsweise an die Taste "Einfügen" binden, werden Schlüsselxdotool
gesendet, während Ihr Finger die Taste "Einfügen" drückt, was nichts bewirkt.Unten finden Sie eine Problemumgehung, um sie an einen Tastendruck zu binden:
es ist nicht perfekt, aber es funktioniert. Jetzt haben Sie 0,3 Sekunden Zeit, um die Auswahl des Tastendrucks zu beenden (und die Taste zu drücken).
quelle