Chciałbym móc wkleić zaznaczenie X za pomocą klawiatury. Obecnie muszę to zrobić za pomocą środkowego przycisku myszy.
Rozumiem, że sfałszowanie naciśnięcia środkowego przycisku myszy jest dość łatwe, ale takie rozwiązanie wymagałoby również przesunięcia wskaźnika myszy w miejsce kursora tekstu.
Czy jest na to lepszy sposób?
xorg
keyboard-shortcuts
copy-paste
intuicyjny
źródło
źródło
Odpowiedzi:
W niektórych domyślnych ustawieniach Linuksa Shift+ Insertwykona
X-selection-paste
. Jak zauważyłeś, różni się to wyraźnie odX-clipboard-paste
polecenia, którego powiązanie często różni się w zależności od aplikacji. Jeśli to nie zadziała tutaj, jest kilka innych kluczy do wypróbowania:Ctrl+V
Ctrl+ Shift+V
Ctrl+ Shift+Insert
Nie iść Twoje środowisko pulpitu lub Menedżer okien prawdopodobnie nie ma ich skonfigurowanych i jest to skomplikowane, ponieważ - nawet pod szyldem jednego DE lub WM - każdy zestaw narzędzi (np. GTK, Qt, itp.) Może równie dobrze mieć inne domyślne wiązania. Niektóre programy (np.
gvim
) Mają nawet własne wewnętrzne rejestry kopii, które niekoniecznie są zsynchronizowane ze środowiskiem graficznym, w którym działają. Na dodatek, nawet jeśli program korzysta z systemu schowka X, X ma wiele systemów do wyboru. Dwa najbardziej podstawowe to bufor wyboru - który zawsze ma wszystko, co ostatnia wybrana rzecz była (wykonywana, gdy nie ma) - i bufor kopiowania - do którego zwykle trzeba konkretnie skopiować. Aby wykonać wyraźną kopię do tego drugiego systemu, możesz wypróbować dowolny z nich dla rozmiaru:Ctrl+C
Shift+ Ctrl+C
Ctrl+Insert
Jeśli nic z tego nie działa w magiczny sposób, możesz przejść na dwa sposoby.
Jest na to aplikacja! ™ Użyj jednego z różnych programów do zarządzania schowkami, aby obsłużyć to za Ciebie. Najbardziej popularne wydają się być Parcellite i Glippy , ale można sprawdzić inne możliwości tutaj . Zobacz także to pytanie dotyczące zaawansowanych menedżerów schowka
Włam się sam.
Powiedzmy, że chcesz go zhakować.
Oprócz pisania własnego kodu i korzystania z interfejsu X api, narzędzia hakerskie do tego zadania to kilka małych narzędzi wiersza poleceń, które otwierają okno na umysł X. Wystarczy małe okno, aby cały widok był zbyt przerażający. .
Pierwsze narzędzie to
xsel
. Ten mały robotnik wypluje wszystko, co znajduje się w buforze wyboru X w danym momencie.Teraz musisz włączyć to do swojego programu. Istnieją dwie opcje tego. Jedna z
xdotool
nich pozwala naśladować wysyłanie zdarzeń do systemu wejściowego Xorg. Możesz użyć metody typu , np.xdotool type foo_bar
Naśladując pisanie „foo_bar” na kursorze. W połączeniu otrzymujesz coś takiego:Drugi to
xvkbd
wysyłanie zdarzeń klawiatury z niższego podsystemu. Możesz przesyłać do niego sekwencje klawiszy na STDIN. W połączeniu zxsel
otrzymujesz coś takiego:Wspaniały. Teraz klawiszem, żeby uruchomić te rzeczy. Jeśli uruchomisz Gnome-2, możesz dodać niestandardowy skrót w System -> Preferencje -> Skróty klawiaturowe . Jeśli użyjesz innego DE lub WM, ten rozmiar jest pozostawiony czytelnikowi.
Ostatnia uwaga jest taka, że podczas wiązania poleceń ze skrótami klawiaturowymi często konieczne jest posiadanie tylko jednego polecenia, a nie dwóch poleceń połączonych z potokiem, którego używamy powyżej. Możesz to zrobić, wywołując polecenie piped jako ciąg polecenia argumetn w nowej powłoce, takiej jak ta:
źródło
Shift-Insert
mieć praktyczne zastosowanie, ale po prostu nie jest (w Ubuntu) .. Jedyną „spójnością (+/-)”, którą znalazłem, jest to, że X- zaznaczenie w aplikacjach GTK może być wstawiane z wciśniętym klawiszem Shift wgnome-terminal
, ale jest dość trafione w inne kombinacje tych samych aplikacji ... Kilka aplikacji KDE, z których korzystam (w tym Konsola), po prostu nie wklejanie w ogóle .... i nawet w aplikacjach GTK kliknięcie środkowym przyciskiem może działać, ale Shift + Insert może nie działać (w przypadku tej samej aplikacji) ... Więc używam myszy :(xdotool click 2
.Najwyraźniej Shift+ Insertmoże nie działać poprawnie na niektórych instalacjach GTK 3, przynajmniej na FreeBSD. Problem jest opisany jako:
Dostępny jest najnowszy (w chwili pisania) raport o błędzie i łatka:
http://www.freebsd.org/cgi/query-pr.cgi?pr=188264
źródło
To symuluje bezpośrednie kliknięcie przyciskiem myszy i nie wymaga użycia
xsel
/xdotool type ...
.źródło
Używam Ubuntu 12 i miałem problem z wklejeniem tekstu z xterm w gedit (i dowolnej innej aplikacji). Ponadto używam laptopa bez środkowego przycisku myszy, jak wiele osób (naprawdę nie ma litości do schowka dla użytkowników Linuksa bez środkowych przycisków i nie: kliknięcie prawym przyciskiem + lewy przycisk myszy nie działa jako zamiennik).
Chociaż myślę, że metoda „xsel | xvkbd -xsendevent -file -” jest całkiem fajna. Odkryłem, że najprostszym rozwiązaniem było uruchomienie preinstalowanego „gnome-terminal” zamiast „xterminal”. „gnome-terminal” obsługuje polecenie kopiowania do schowka w prawym przyciskiem myszy. Mógłbym wtedy „Edycja menu-> Wklej” do gedit lub użyć Shift-Insert. „gnome-terminal” został fabrycznie zainstalowany z Ubuntu 12. Inne instalacje debian / gnome powinny móc go zainstalować poprzez:
W Ubuntu dodaj go do lewego programu uruchamiającego, klikając przycisk „Dash Home” u góry paska uruchamiania. W wynikowym polu wyszukiwania wpisz terminal. Możesz przeciągnąć ikonę „Terminal” na pasek uruchamiania.
źródło