Mam trochę problemu. Chciałem ponownie przypisać niektóre skróty klawiszowe, do których jestem przyzwyczajony z mojego poprzedniego systemu, ale nie mogę go poprawnie uruchomić xbindkeys
.
xbindkeys
rozpoznaje kombinację, ale jakoś polecenie się nie uruchamia.
Jeśli użyję polecenia
xdotool key braceleft
Wysyła mi poprawny {
znak w konsoli. Jednak jeśli użyję tego samego polecenia w xbindkeys, nic się nie stanie. Jeśli zastąpię polecenie, firefox
to działa poprawnie i otwiera Firefoxa, więc chyba xbindkeys
działa.
Chcę osiągnąć następujące cele:
Chcę wpisać znak {
w aktywnym oknie za pomocą
Alt_R+ 7lub Alt_Left+ Ctrl+, 7aby móc używać obu. Wiem, że Alt_R(AltGr) to właściwy sposób, ale na niemieckich klawiaturach jakoś trudno jest wpisać braceleft za pomocą AltGrklawisza (Alt_R), więc MUSISZ zamiast tego użyć Alt_L+ Control+ 7(tak jak przyzwyczaiłem się w poprzednim systemie). Jakoś sprawił, że działał poprawnie w 12.04, ale nie mogę go uruchomić w 14.04.
Jakieś sugestie? Próbowałem kilku poleceń. Wszystkie działały w konsoli, ale żadne z nich nie działało po uruchomieniu przez xbindkeys
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
To jest moja konfiguracja, która nie będzie działać
"xdotool key braceleft"
Control+Alt + 7
Działa to jednak:
"firefox"
Control+Alt + 7
Edycja rozwiązania
Kiedy próbowałem jeszcze kilku rzeczy, zauważyłem, że xdotool wydaje się uruchamiać zbyt wcześnie. Zmieniłem konfigurację w następujący sposób:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
TERAZ wysyła poprawny {znak do aktywnego okna. Teraz pozostaje tylko spać i opóźnić do realnej wartości, ponieważ 1 sekunda wydaje się nieco za długa :)
** Informacje o dodaniu ** Cóż, teraz udało mi się znaleźć odpowiednie wartości. JEDNAK działa to tylko wtedy, gdy zwolnisz klawisze, aż do zakończenia okresu uśpienia. Jeśli jesteś zbyt wolny, jeśli nie będzie działać.
To moja obecna konfiguracja dla wszystkich niewygodnych niemieckich postaci AltGr
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
Jednak jeśli chcesz wpisać wiele znaków @ (na przykład), musisz nacisnąć Ctrl + Alt + Q zgodnie z przeznaczeniem, ale zwolnij wszystkie klawisze, a następnie naciśnij go ponownie. Jest to jednak o wiele, wiele lepsze niż brak opcji Control + Alt zamiast AltGr, ale nie jest tak skuteczne, jak ja zostałem użyty. Może też znajdę rozwiązanie tego problemu.
xdotool
powtórzyć klucz przy wciśniętym przycisku?
xdotool getactivewindow key Home