Làm thế nào để mô phỏng đầu vào bàn phím?


15

Đây là điều lớn nhất khiến tôi không thích Ubuntu / Linux.

Lý tưởng nhất là tôi chỉ có thể chạy tập lệnh AutoHotKey của mình trên Ubuntu, nhưng tôi không gặp nhiều may mắn khi làm việc với Wine.

Đây là những gì tôi đang làm trong AHK (sử dụng công cụ sửa đổi bổ sung cũng hoạt động, Shift+ Alt+ lShift+ right).

!l:: Send, {Right}
+!l:: Send, +{Right}
^!l:: Send, ^{Right}
^+!l:: Send, ^+{Right}

Tôi đã thử AutoKey, nhưng nó không tiêu thụ đầu vào, ánh xạ lại Alt+ Iphím mũi tên phải hoạt động, nhưng nó vẫn thực thi Alt+ I, đôi khi chọn một mục từ menu ứng dụng.

Gần nhất tôi nhận được là xbindkeysđể thiết lập các phím nóng, điều này dường như hoạt động rất tốt. Và xvkbdđể mô phỏng đầu vào; phần này thực sự có lỗi; nó không hoạt động trong tất cả các chương trình và khiến tôi mất tập trung rất nhiều, trong số các vấn đề khác.

Đối với bất cứ ai tự hỏi tôi đang cố gắng làm gì: Tôi sử dụng I J K Llàm phím mũi tên trong khi không hoạt Altđộng.


Này Stephen, tôi đang tìm kiếm chính xác điều tương tự. Bạn đã thành công trong việc này?
lolmaus - Andrey Mikhaylov

Câu trả lời:


18

Tôi chưa bao giờ sử dụng xvkbd, nhưng có hai chương trình tuyệt vời khác để mô phỏng đầu vào bàn phím mà tôi thích và sử dụng. Một là xtevà kia là xdotool.

sudo apt-get install xautomation xdotool  

Cả hai xdotoolxteđều rất giống nhau, nhưng vì tôi sử dụng xtenhiều nhất nên tôi sẽ sử dụng cái đó.

xte:

Cú pháp cơ bản nhất cho xtelà:

xte 'command key/mousebutton/xyCoordinates'

xte có thể làm nhiều hơn là chỉ tạo đầu vào bàn phím, nó cũng có thể di chuyển chuột và mô phỏng các lần nhấn nút chuột, trong số những thứ khác.

Ví dụ cú pháp:

  • Để gọi một phím bấm: xte 'key keyName'

  • Để gọi một tổ hợp phím: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Để gọi nút chuột: xte 'mouseclick buttonNumber'(Bạn có thể tìm thấy số nút thông qua xev)

  • Để di chuyển chuột: xte 'mousemove xCoordinate yCoordinate'

  • Và hơn thế nữa! Đọcman xte

Tên chính:

Dưới đây là danh sách các tên chính (không phải tên rõ ràng):

Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R
Multi_key  
Super_L  
Super_R

Đọc hiểu:

Bạn cũng có thể thích đọc:

Làm cách nào để thay đổi phím trên bàn phím? (Làm cách nào tôi có thể tạo các lệnh / phím tắt tùy chỉnh trên bàn phím?)

Làm cách nào để sắp xếp lại các phím hoặc thiết bị nhất định?


Điều này có vẻ tốt nhưng nó không hoạt động xbindkeys. Khi xte 'key a'được gọi từ xbindkeysnó chỉ làm cho con trỏ của tôi nhấp nháy khi tôi nhấn phím nóng. xte 'key a'trong dòng lệnh hoạt động. gnome-terminalđược gọi từ xbindkeyscác công trình. Tôi không chắc vấn đề ở đâu.
Farzher

Có vẻ như không xtecố gửi sự kiện quan trọng đến cửa sổ tập trung khi được gọi từ xbindkeys...
Farzher

@StephenSarcsamKamenar Bản thân tôi đã có một số khó khăn, nhưng từ kinh nghiệm của tôi đã được xbindkeysvấn đề .. Đối với tôi, tôi phải nhấn tổ hợp phím ở chính xác cùng một lúc để có được xbindkeysđể gửi lệnh. YMMV.
Seth

Có thể là một xbindkeysvấn đề; xdotoolđã làm việc với nó, nhưng khi tôi giữ một phím, nó sẽ không bao giờ lặp lại. Các lựa chọn thay thế tốt là xbindkeysgì?
Farzher

1
@StephenSarcsamKamenar Xmodmap được giải thích trong câu trả lời này cũng như câu hỏi này . Đó là những gì tôi sẽ sử dụng nếu xbindkeyskhông đủ tốt (không phù hợp với xte .. ít nhất là đối với tôi.)
Seth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.