Tôi có một chút vấn đề. Tôi muốn sắp xếp lại một số phím nóng mà tôi đã sử dụng từ hệ thống trước đây của mình nhưng tôi không thể làm cho nó hoạt động bình thường xbindkeys
.
xbindkeys
nhận ra sự kết hợp nhưng bằng cách nào đó lệnh không kích hoạt.
Nếu tôi sử dụng lệnh
xdotool key braceleft
Nó xuất ra cho tôi {
dấu hiệu chính xác trong giao diện điều khiển. Tuy nhiên nếu tôi sử dụng cùng một lệnh trong xbindkeys thì không có gì xảy ra. Nếu tôi thay thế lệnh bằng firefox
nó hoạt động đúng và mở firefox, vì vậy tôi đoán xbindkeys
hoạt động.
Tôi muốn đạt được những điều sau đây:
Tôi muốn nhập ký tự {
vào cửa sổ hiện hoạt bằng
Alt_R+ 7hoặc Alt_Left+ Ctrl+ 7để tôi có thể sử dụng cả hai. Tôi biết Alt_R(AltGr) là cách thích hợp nhưng trên bàn phím tiếng Đức, bằng cách nào đó rất khó để nhập braceleft bằng phím AltGr(Alt_R) vì vậy tôi PHẢI sử dụng Alt_L+ Control+ 7thay vào đó (như tôi đã quen với hệ thống trước đây). Bằng cách nào đó tôi đã làm cho nó hoạt động đúng vào 12.04, nhưng tôi không thể làm cho nó hoạt động vào 14.04.
Bất kỳ đề xuất? Tôi đã thử một số lệnh. Tất cả đều hoạt động trong bảng điều khiển nhưng không ai trong số họ làm việc khi được thực hiện bởi xbindkeys
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
Đây là cấu hình của tôi, nó sẽ không hoạt động
"xdotool key braceleft"
Control+Alt + 7
Tuy nhiên, điều này hoạt động:
"firefox"
Control+Alt + 7
Giải pháp Chỉnh sửa
Khi tôi thử một vài thứ khác, tôi nhận thấy rằng xdotool dường như kích hoạt quá sớm. Tôi đã thay đổi cấu hình như thế này:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
NGAY BÂY GIỜ nó sẽ gửi dấu {chính xác đến cửa sổ đang hoạt động. Bây giờ điều duy nhất còn lại là giảm giấc ngủ và trì hoãn đến một giá trị khả thi, bởi vì 1 giây có vẻ hơi dài :)
** Thông tin bổ sung ** Chà, bây giờ tôi đã tìm được giá trị phù hợp. TUY NHIÊN điều này chỉ hoạt động nếu bạn nhả phím cho đến khi hết thời gian ngủ. Nếu bạn quá chậm nếu không làm việc.
Đây là cấu hình hiện tại của tôi cho tất cả các ký tự AltGr tiếng Đức không thuận tiện
"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
Tuy nhiên, nếu bạn muốn nhập nhiều dấu @ (ví dụ), bạn phải nhấn Ctrl + Alt + Q như dự định, nhưng nhả tất cả các phím và sau đó nhấn lại. Tuy nhiên, điều này tốt hơn nhiều so với việc không có tùy chọn Control + Alt thay vì AltGr nhưng nó không hiệu quả vì tôi cũng đã sử dụng. Có lẽ tôi cũng sẽ tìm ra giải pháp cho việc này.
xdotool
để lặp lại phím trong khi nhấn giữ chưa?
xdotool getactivewindow key Home