Đối với Ubuntu 18.04.
Tôi đã vật lộn với vấn đề này trong hai ngày. Tôi đã thử tất cả các phương pháp được liệt kê ở đây trước đó. Và có vẻ như tôi đã đưa ra một giải pháp. Nhưng nó rất không ổn định và có lỗi.
Ý tưởng cơ bản là thế này: trong các thiết lập hệ thống bạn có thể chỉ định các lệnh đó được khởi động bởi Ctrl+ Shift+ Utổ hợp phím.
Lưu ý: nếu bạn chỉ định false
làm lệnh, kết hợp sẽ không hoạt động.
Tuy nhiên, chúng ta có thể chỉ định đường dẫn đến tập lệnh là lệnh, trong đó chúng ta sẽ mô phỏng nhấn cùng một tổ hợp phím.
Để mô phỏng tổ hợp phím, tôi đã thử xdotool
( apt install xdotool
) và xte
( apt install xautomation
). Cả hai lựa chọn đều không ổn định. Tuy nhiên, xte
hóa ra là linh hoạt hơn đối với tôi.
Ví dụ với xte
- Tạo một tập tin
/home/username/shortcut.sh
- Thêm quyền để thực thi:
chmod u+x /home/username/shortcut.sh
- Chỉ định đường dẫn đến kịch bản như một lệnh cho Ctrl+ Shift+ Utổ hợp phím trong phần cài đặt bàn phím
Đây là một kịch bản ví dụ:
#!/bin/sh
# Make a small delay in order to have time to release the keys.
sleep 0.2
# Simulate the release of just pressed keys, if they are still pressed.
xte 'keyup u' 'keyup Shift_L' 'keyup Control_L'
# Hack: Caps_Lock is used so that the system does not intercept this combination.
# You can try to remove it if it hinders you.
xte 'key Caps_Lock'
# Simulate pressing a key combination
xte 'keydown Shift_L' 'keydown Control_L' 'key u'
# Simulate releasing a key combination
xte 'keyup Shift_L' 'keyup Control_L'
# Restore Caps_Lock to the previous state.
xte 'key Caps_Lock'
Tôi đã thử nghiệm điều này trong PhpStorm 2018.2 EAP Build # PS-182.3458.35 và tôi có thể nói rằng nó hoạt động, nhưng với một số cảnh báo:
- cái này hoạt động chậm (trên PC khá cũ của tôi)
- trong quá trình thực thi tập lệnh, tốt hơn là không nhấn bất kỳ phím nào
- đôi khi nó có thể không hoạt động
- đôi khi nó có thể đi vào một vòng lặp vô hạn. Do đó, tốt hơn là thêm một kiểm tra vào tập lệnh mà tập lệnh đang chạy.
Nói chung, nếu bạn không thường xuyên sử dụng kết hợp này, thì giải pháp này có thể phù hợp với bạn.
Nhưng, có lẽ, ai đó sẽ đưa ra một giải pháp tốt hơn và ổn định hơn.
Tôi hy vọng ý tưởng này sẽ giúp được ai đó.