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?)


131

Tôi muốn thay đổi các ràng buộc phím trên một số phím trên bàn phím của tôi. Tôi muốn một số để chạy các lệnh và những người khác để kích hoạt các khóa khác nhau.

Những ứng dụng nào tôi có thể sử dụng để làm điều này?


Mục lục:


Tôi vẫn đang tìm kiếm câu trả lời bằng cách sử dụng dconf và bất kỳ phương pháp nào khác.


Có lẽ xmacro thuộc về câu trả lời này? nó có thể "Ghi / Phát tổ hợp phím và di chuyển chuột trong màn hình X".
roadmr

@roadmr Nếu tôi có thể sử dụng nó để tạo các phím tắt tùy chỉnh, thì có!
Seth

Cảm ơn đã thêm chủ đề này. Tôi đang tìm cách sử dụng một phím giống như nút chuột (giữ và kéo, nhấp, v.v.). Điều này dường như bị thiếu từ các chủ đề.
krumpelstiltskin

@krumpelstiltskin Hiện tại tôi không biết cách nào để đạt được sự sao chép chính xác như vậy của một con chuột. Tôi đề nghị bạn hỏi một câu hỏi mới. Nếu tôi tìm ra nó tôi vẫn có thể trả lời ở đó, hoặc người khác có thể có câu trả lời tốt hơn :)
Seth

1
đây là một xkb-answer: Askubfox.com/a/347382/354350
DJCrashdummy

Câu trả lời:


94

xbindkey ..

sudo apt-get install xbindkeys

Xbindkeys là một chương trình rất linh hoạt cho phép bạn sắp xếp lại các phím rất dễ dàng. Nó sử dụng một tập tin cấu hình, mặc định của tôi nằm trong thư mục chính của bạn, để thay đổi các ràng buộc chính thành các lệnh nhất định.

Để tạo một tệp cấu hình mặc định, bạn sử dụng lệnh:

xbindkeys --defaults

Mà in tập tin cấu hình mặc định. Vì vậy, nếu bạn muốn tạo tệp chứa các giá trị mặc định bạn sẽ sử dụng:

xbindkeys --defaults > $HOME/.xbindkeysrc

Mà in các giá trị mặc định thành một tệp ẩn có tên .xbindkeysrcnằm trong home ( ~).

Bây giờ để thực sự thay đổi các ràng buộc của các khóa, trước tiên chúng ta cần biết tên hoặc keyym của các phím đó là gì. xbindkeyscho phép chúng ta sử dụng -ktay cầm để tìm tên của tổ hợp phím hoặc khóa. Chạy:

xbindkeys -k

Và nhấn một phím hoặc tổ hợp phím. Đầu ra của bạn sẽ xem xét một cái gì đó tương tự như sau (khi nhấn space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"cho chúng tôi biết rằng hiện tại không có lệnh nào được liên kết với Spacekhóa.

m:0x10 + c:65
Mod2 + space  

Là tên của tổ hợp phím / khóa.

tập tin cấu hình ..

Cho phép mở tệp cấu hình bạn đã thực hiện trước đó:

gedit .xbindkeysrc  

Đây là một đoạn trích từ tập tin cấu hình mặc định:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Mỗi dòng bắt đầu bằng #một nhận xét và sẽ không được đọc hoặc điều hành xbindkeys.

Cho đến nay, dòng duy nhất không được bình luận là:

"xbindkeys_show" 
 control+shift + q  

Đoạn trích này cho thấy cú pháp cơ bản của xbindkeyscác lệnh:

"Command to run (in quotes)"
key to associate with command (no quotes)  

Vì vậy, như bạn có thể thấy:

"xbindkeys_show" 
 control+shift + q  

Chạy lệnh xbindkeys_showkhi bạn nhấn Ctrl+ Shift+ q.

liên kết các phím với các lệnh ..

Bây giờ hãy thử ràng buộc một vài phím. Tôi khuyên bạn nên xóa toàn bộ tệp mặc định để nó trống. Nó chứa các ràng buộc khóa cài sẵn mà bạn có thể không muốn.

Bây giờ hãy nói rằng bạn muốn sử dụng Ctrl+ bđể mở trình duyệt của mình. Trước tiên, bạn cần biết tên hoặc keyym của Ctrl+ blà gì. Như đã đề cập trước đó, bạn có thể sử dụng xbindkeys -kđể tìm tên của một phím hoặc khóa, nhưng có một cách dễ dàng hơn. Đối với các kết hợp đơn giản như Ctrl+ bbạn chỉ có thể sử dụng:

Control+b

Dễ dàng hơn nhiều phải không!

Bây giờ hãy tìm lệnh cho trình duyệt yêu thích của bạn:

  • Đối với Firefox: firefox

  • Đối với Chromium: chromium-browser

  • Đối với Opera: opera

Ghi nhớ cú pháp từ trước? Các xbindkeyslệnh để khởi động Firefox (hoặc trình duyệt yêu thích khác của bạn) khi bạn nhấn Ctrl+ blà:

"firefox"
Control+b

Bây giờ đặt nó trong tập tin cấu hình của bạn và lưu nó. Bây giờ bạn có thể nhận thấy lệnh của bạn chưa hoạt động, đó là vì xbindkeyskhông chạy. Để bắt đầu nó chỉ cần chạy xbindkeystừ một thiết bị đầu cuối. Ctrl+ bBây giờ bạn nên khởi động trình duyệt của bạn!

liên kết các phím với các khóa khác ..

Nếu bạn muốn một phím trên bàn phím của bạn để gọi một phím khác trên bàn phím của bạn, bạn sẽ cần thêm một phần mềm vì xbindkeysnó không hỗ trợ điều này trên chính bàn phím đó. Tôi biết hai chương trình mà chúng ta có thể sử dụng xdotoolxte. Tôi thích xtevì vậy tôi sẽ sử dụng nó.

Cài đặt nó:

sudo apt-get install xautomation

Cú pháp cho xtenhư thế này:

xte 'command key/mousebutton/xyCoordinates'

Ví dụ:

  • Để 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' (Chúng ta sẽ thảo luận về việc tìm số nút sau một chút)

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

  • Và nhiều hơn nữa! Đọcman xte

Bây giờ bạn đã biết lệnh mô phỏng các phím bấm, bạn có thể gọi nó từ xbindkeystập lệnh của mình , như thế này:

"xte 'key b'"
Control+b  

Như bạn có thể đoán, cuộc gọi này xte 'key b'khi chúng tôi nhấn Ctrl+ b, sẽ nhập bvào bất kỳ tài liệu nào bạn có thể đang làm việc.

Tuy nhiên, điều tôi cần lưu ý là xbindkeysxtekhông phải lúc nào cũng làm việc rất tốt với nhau. Đôi khi bạn phải nhấn các phím chính xác cùng một lúc để có được đầu ra, lần khác nó hoạt động tốt. Điều này có thể hoặc không liên quan đến cấu hình hệ thống và / hoặc phần cứng .. Tôi không chắc chắn. Xem câu trả lời của maggotbrain để biết cách liên kết các khóa đáng tin cậy hơn với các khóa khác.

liên kết các nút chuột với các lệnh ..

Bạn cũng có thể sử dụng xbindkeysđể liên kết các nút chuột với các lệnh (và các phím tắt từ đó, xem bên trên). Định dạng cơ bản cho các nút chuột bây giờ đã quen thuộc với bạn:

" [command to run]  "
b:n

Đâu [command to run]là lệnh bạn muốn chạy và nsố nút chuột bạn muốn sử dụng cho lệnh đó.

Nếu bạn không biết số lượng nút chuột, bạn có thể sử dụng xevđể tìm hiểu xem đó là gì:

xev | grep button

Đầu ra sẽ giống như thế này:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

Khi tôi nhấn từng nút chuột.

Ví dụ:

" firefox "
b:2

Khởi chạy firefox khi tôi nhấn nút chuột giữa.


Xbindkeys có thể ánh xạ Meta + C / V để sao chép / dán và Meta + Space để chuyển đổi ngôn ngữ không?
Sonique

Có cách nào để gắn một chuỗi các ký tự vào một phím không, ví dụ: gắn "phương trình" vào phím tăng âm lượng?
JPi

55

Xev và xmodmap

Thay đổi các ràng buộc chính bằng cách sử dụng xevxmodmap.

Cả hai ứng dụng dòng lệnh đều có sẵn theo mặc định, do đó không cần phải cài đặt phần mềm bổ sung.

Xev "tạo một cửa sổ và sau đó yêu cầu máy chủ X gửi cho nó các sự kiện bất cứ khi nào có bất kỳ điều gì xảy ra với cửa sổ (chẳng hạn như nó được di chuyển, thay đổi kích thước, nhập vào, nhấp vào, v.v.)." trang người đàn ông xev

xmodmap là một "chương trình được sử dụng để chỉnh sửa và hiển thị bản đồ sửa đổi bàn phím và bảng sơ đồ bàn phím được sử dụng bởi các ứng dụng khách để chuyển đổi mã khóa sự kiện thành keyyms." trang man xmodmap

Ví dụ sau đây sẽ ánh xạ lại Caps_Lockkhóa cho hành vi của Escphím (Nhiều người dùng vi / vim thấy đây là một ánh xạ bàn phím hữu ích).

Sử dụng xev

Bắt đầu xevứng dụng từ cửa sổ terminal ( Ctrl- Alt- t).

Ứng dụng sẽ khởi tạo, hiển thị một số dòng và bắt đầu một cửa sổ trống. Giữ xevcửa sổ ứng dụng tập trung và nhấn phím có thuộc tính / hành vi mà bạn muốn sử dụng.

  • Bấm ESCphím

Trong cửa sổ terminal, bạn sẽ thấy một vài dòng đầu ra. Ghi chú của dòng thứ 3 trả về. Điều này sẽ chứa tên của tài sản bạn muốn chuyển sang khóa khác.

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

Trong trường hợp này, Esckhóa (mã khóa 9) sử dụng tên "Thoát" .

  • Bấm Caps Lockphím

Lần này chúng tôi đang tìm kiếm mã khóa Caps Lockđang sử dụng.

Một lần nữa, lưu ý dòng thứ 3:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Sử dụng xmodmap

Bây giờ chúng tôi đã có được thông tin về các khóa mà chúng tôi muốn thay đổi xev, chúng tôi sẽ sử dụng xmodmapđể sửa đổi các keymap. Từ thiết bị đầu cuối lệnh ( Ctrl+ Alt+ t), chạy các lệnh sau:

  • Lệnh này sửa đổi Caps Lockđể sử dụng hành vi tương tự nhưEsc

    xmodmap -e "keycode 66 = Escape"
    
  • Tùy chọn này in bảng sơ đồ dưới dạng biểu thức vào tệp ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

Kích hoạt các thay đổi (chỉ dành cho phiên đăng nhập này) bằng lệnh sau:

xmodmap ~/.Xmodmap

Thực hiện các thay đổi liên tục trên các lần khởi động lại:

  • Nếu nó không tồn tại, tạo một tập tin trong thư mục nhà của bạn được gọi là .xinitrc.

    touch .xinitrc
    
  • Đặt dòng sau vào tệp và lưu tệp:

    xmodmap ~/.Xmodmap
    

Sửa đổi khóa với các hành vi trạng thái khác nhau

(như Num Lock)

  • Lấy bảng sơ đồ bàn phím cho các phím bổ trợ (đầu ra viết tắt ở đây)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

Nếu bạn muốn thay đổi, ví dụ, hành vi của dấu chấm Del/ Periodphím trên bàn phím số, thành dấu phẩy, hãy sử dụng lệnh sau:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

Lưu ý rằng điều này đang sử dụng mod2sơ đồ bàn phím để thay đổi hành vi chính khi nhấn công cụ sửa đổi Num Lock. Cú pháp cho việc này là:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

Nguồn


2
+1! Tôi có một bàn phím tiếng Hàn không có phím alt-gr và tôi cần nó vì vậy câu trả lời của bạn rất hữu ích để làm cho nó hoạt động. Để tham khảo trong tương lai và vì khóa alt-gr không phải là đơn giản nhất để đặt, đây là lệnh (Tôi đã sử dụng khóa hanja, có mã 130): xmodmap -e "keycode 130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key"
Shautieh

43

Theo mặc định (Đây chỉ là để bổ sung cho câu trả lời xuất sắc của Seth), Ubuntu (Trong ví dụ này tôi đang sử dụng 16.04) có 2 danh mục được mặc định trong Cài đặt hệ thống:

Để đi tới Cài đặt hệ thống, trên Top Nhấp chuột phải vào biểu tượng Bánh răng :

nhập mô tả hình ảnh ở đây

Sau đó chọn Cài đặt hệ thống :

nhập mô tả hình ảnh ở đây

Tại đây bạn sẽ tìm thấy 2 tùy chọn có thể đưa bạn đến phần Tạo lối tắt.

nhập mô tả hình ảnh ở đây

Nếu bạn chọn Nhập văn bản, bạn sẽ phải chọn Liên kết cài đặt bàn phím ở góc dưới bên phải sẽ gửi bạn trực tiếp đến các tùy chọn Phím tắt.

nhập mô tả hình ảnh ở đây

Nếu bạn chọn tùy chọn Bàn phím , bạn sẽ phải nhấp vào Tab Phím tắt

nhập mô tả hình ảnh ở đây

Sau khi đến các tab Phím tắt, bạn sẽ chọn Phím tắt tùy chỉnh ở cuối danh sách ở phía bên trái:

nhập mô tả hình ảnh ở đây

Và sau đó nhấp vào Dấu Plus ở phía dưới để bắt đầu tạo Lối tắt của riêng bạn:

nhập mô tả hình ảnh ở đây

Từ đó trở đi, bạn chỉ cần thêm tên của phím tắt (Đừng nhầm lẫn tên của phím tắt, với tên của lệnh thực tế bạn sẽ thực hiện). Và bên dưới, trong trường Lệnh, là nơi bạn sẽ đặt lệnh nào sẽ được thực thi cho phím tắt này. Trong ví dụ sau, tôi đặt tên cho Phím tắt là "Sublime Text 3" để biết phím tắt cụ thể đó liên quan đến cái gì. Và trên trường lệnh tôi đã thêm lệnh thực tế subl.

nhập mô tả hình ảnh ở đây

Bạn sẽ kết thúc với phần sau trên màn hình cho thấy rằng, vì phím tắt chưa có tổ hợp phím hoặc khóa được gán, nên nó bị Tắt theo mặc định:

nhập mô tả hình ảnh ở đây

Sau đó, chúng tôi sẽ nhấp vào thông báo "Đã tắt" để thêm tổ hợp phím vào đó:

nhập mô tả hình ảnh ở đây

Trong phần này, tôi gán tổ hợp phím SHIFT+ CTRL+ Sđể khi tôi nhấn tổ hợp này, nó sẽ mở Ứng dụng văn bản tuyệt vời.

nhập mô tả hình ảnh ở đây

Sau đó, bạn có thể chỉ cần kiểm tra kết hợp của mình bằng cách nhấn tổ hợp phím tương ứng và thấy ứng dụng mở:

nhập mô tả hình ảnh ở đây

LƯU Ý: Đối với các kết hợp đặc biệt như kết hợp để giết Máy chủ X, tôi khuyên bạn nên truy cập vào liên kết sau: Làm cách nào để bật Ctrl-Alt-Backspace để giết máy chủ X?


Tôi vào ngày 13.10 và tôi hoàn toàn không có biểu tượng 'Nhập văn bản' này trong Cài đặt hệ thống. :(
wim

Xin chào, bạn có thể cung cấp một liên kết đến một hình ảnh hiển thị các cài đặt hệ thống của bạn.
Luis Alvarado

2
Đáng buồn thay, bây giờ chúng tôi ở 15.04 câu trả lời này là một mớ hỗn độn. Giao diện bàn phím không còn nữa, và với nó là khả năng Kill X Server. Các ảnh chụp màn hình trộn lẫn trước 13.04 (ai quan tâm!?!) Và các ảnh chụp màn hình sau đó và ai đó đã chèn chúng vào sai vị trí, vì vậy "nhấp vào Tùy chọn ở dưới cùng bên phải)" khác xa với ảnh chụp màn hình thực tế, lỗi thời. :-(
trượt tuyết

@skierpage Đó là lý do tại sao tôi thực hiện câu trả lời này: askubfox.com/questions/367983/ hy vọng nó sẽ giúp.
Luis Alvarado

If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...Nút tùy chọn ở đâu trên các phiên bản> 13.04?
khủng long

21

Chuyển đến Cài đặt hệ thốngKeboard , chọn tab Phím tắt và thêm lối tắt tùy chỉnh mới cho trình duyệt của bạn. Nếu trình duyệt mặc định của bạn là Firefox, hãy sử dụng firefoxtrong trường lệnh; nếu trình duyệt mặc định của bạn là Firefox, hãy sử dụng chromium-browser, v.v.

thêm phím tắt tùy chỉnh


Cảm ơn. Xem thêm câu trả lời của riêng tôi cho một số đặc thù về việc thực sự thiết lập các phím. Lúc đầu tôi đã làm tôi bối rối mặc dù tôi đã ở đúng nơi.
Michael Durrant

2
Nhưng điều này không hoạt động trong trường hợp của tôi. Ubuntu (vì một số lý do) sẽ không cho phép tôi thiết lập các phím tắt! Tôi đã làm theo cho đến bước 4 (như trong hình). Tôi có đang bỏ lỡ điều gì không?
Vaibhav Kaushal

2
Tôi thích câu trả lời này cho những câu hỏi có sẵn trong câu hỏi trùng lặp.
Ông B

3
@VaibhavKaushal: ở Bước 5, bạn phải nhấp vào bên phải trên "đã hủy kích hoạt", sau đó thực hiện phím tắt mà bạn thích, sẽ được hiển thị ngay lập tức
rubo77

Khởi động lại có thể cần thiết để những thay đổi có hiệu lực
Đền Shirley

18

Bạn có thể tạo các phím tắt phức tạp (đa phím) bằng cách cài đặt AutoKey từ trung tâm phần mềm. Không giống như xmodmap, AutoKey không bật lại các phím thực trên bàn phím của bạn; nó chạy trong nền và chặn các phím tắt được xác định của bạn, sau đó gửi các phím bấm mô phỏng đến các ứng dụng của bạn.

Lần đầu tiên bạn khởi chạy AutoKey, nó sẽ khởi động dịch vụ ở chế độ nền (biểu tượng thông báo chưa được cập nhật để thống nhất, do đó không có dấu hiệu trực quan). Khi nó chạy, bạn có thể hiển thị giao diện cấu hình bằng cách chạy lại trình khởi chạy:

nhập mô tả hình ảnh ở đây

Bây giờ hãy mở Chỉnh sửa> Tùy chọn và chọn "Tự động khởi động AutoKey khi đăng nhập" để đảm bảo rằng các phím tắt của bạn hoạt động bất cứ khi nào bạn đăng nhập.

Ánh xạ một phím tắt sang một phím tắt khác

  1. Chọn Tệp> Mới> Cụm từ.
  2. Đảm bảo "Dán bằng cách sử dụng" được đặt thành "Bàn phím".
  3. Nhập các phím bạn muốn ánh xạ vào trong hộp văn bản.

    • Các khóa đặc biệt (không phải ký tự) được thể hiện bằng các mã được ghi lại ở đây .
    • Nếu bạn nhập nhiều khóa, chúng sẽ được gửi theo thứ tự trừ khi bạn đặt một phím +giữa chúng (ví dụ: <ctrl>+csẽ sao chép trong hầu hết các ứng dụng; <ctrl>+c<ctrl>+n<ctrl>+vsẽ tạo một tài liệu mới chứa lựa chọn; <shift>+ubuntusẽ nhập văn bản "Ubuntu")
  4. Nhấn nút "Đặt" bên cạnh "Phím nóng". Thao tác này sẽ hiển thị hộp thoại cho phép bạn xác định tổ hợp phím bạn muốn ánh xạ từ :

    nhập mô tả hình ảnh ở đây

  5. Chọn Tệp> Lưu

Một ví dụ về cấu hình đã hoàn thành (sẽ gửi <enter>khi bạn nhấn <ctrl>+m) trông như thế này:

nhập mô tả hình ảnh ở đây


Lưu ý: Hiện tại, Debian (nơi Ubuntu có gói AutoKey) không duy trì gói AutoKey của họ. Để biết hướng dẫn cài đặt hiện tại, xem: github.com/autokey/autokey/wiki/Installing
Joe

15

Thử đi:

Cài đặt chương trình có tên XKeyCaps. Để cài đặt, chỉ cần nhấn Ctrl+ Alt+ Ttrên bàn phím để mở Terminal. Khi nó mở, chạy (các) lệnh bên dưới:

sudo apt-get install xkeycaps

Sau khi cài đặt, bạn có thể thực hiện xkeycaps tại dấu nhắc để chạy chương trình. Khi nó chạy, chọn bố trí bàn phím phù hợp và nhấp vào OK

nhập mô tả hình ảnh ở đây

Sau đó, khi bạn nhận được bàn phím trên màn hình, nhấp chuột phải vào phím mà bạn muốn, trong trường hợp của bạn là bàn phím Svà chọn các phím trao đổi.

nhập mô tả hình ảnh ở đây

Đảm bảo thêm dòng bên dưới vào các phiên của bạn để nó tự động khởi động mỗi khi bạn khởi động.

xmodmap ~/.xmodmap-`uname-n`

Nguồn: UFM ytsejam1138


Được uname-ncho là uname -n?
wjandrea

Theo nguồn tin của nó unmae-n. Tôi không có quyền truy cập vào máy Ubuntu để kiểm tra, nhưng một khi tôi làm như vậy, tôi sẽ kiểm tra thêm.
Mitch

8

Nếu bạn chỉ muốn sắp xếp lại các phím, các câu trả lời khác là tuyệt vời.

Tuy nhiên, có một cách khác để tiếp cận nó. AutoKey là bộ xử lý macro bàn phím cho phép bạn liên kết bất kỳ tổ hợp phím / sửa đổi nào với tập lệnh có thể làm hầu hết mọi thứ bạn có thể làm từ bàn phím và hơn thế nữa.

AutoKey có trình ghi tập lệnh và một cách đơn giản để nhập các chuỗi khóa cơ bản, nhưng tập lệnh của nó được viết bằng Python và có thể làm hầu hết mọi thứ bạn có thể viết mã.

Cách đơn giản nhất để sử dụng nó là yêu cầu nó gửi tổ hợp phím đến các ứng dụng / máy tính để bàn của bạn. Khi được sử dụng theo cách này, hệ thống / ứng dụng không thể nói rằng đó không phải là bạn gõ, do đó không cần API hoặc giao diện khác, họ chỉ cần làm những gì "bạn" đã nhập.

AutoKey cũng có thể xử lý các cụm từ. Khi bạn nhập một chuỗi ký tự kích hoạt, nó có thể thay thế văn bản mới cho chuỗi đó (ngay lập tức hoặc sau khi bạn nhập một ký tự phân cách như một dòng mới hoặc tab.)

Nó cũng có các bộ lọc cửa sổ để bạn có thể hạn chế một cụm từ hoặc tập lệnh cụ thể chỉ chạy trong các loại cửa sổ cụ thể (như các cửa sổ có Mozilla trong tiêu đề để chúng chỉ hoạt động trong những thứ như Firefox hoặc Thunderbird).

AutoKey hiện có phiên bản Gtk và Qt.

Chỉnh sửa:

Hướng dẫn cài đặt

Diễn đàn người dùng Diễn đàn người dùng tích cực.

Có một số tập lệnh ví dụ trong wiki. Vì chủ yếu là ứng dụng GUI có nhiều tùy chọn, nên các ví dụ sẽ yêu cầu rất nhiều ảnh chụp màn hình và toàn bộ bài viết.

Tôi có một cụm từ được định nghĩa để khi tôi gõ " Jmail! ", Nó sẽ ngay lập tức thay thế nó bằng địa chỉ email khá dài của tôi.

Tôi đã viết một tập lệnh được kích hoạt bằng cách gõ Ctrl- Pchỉ hoạt động trong các cửa sổ có "Mozilla" trong tiêu đề của họ. Nhập Ctrl- Phiển thị hộp thoại in (Firefox hoặc Thunderbird), chọn In thành tệp và sau đó điền vào tên của tệp in có sẵn tiếp theo trong hàng đợi in của tôi (tôi đánh số 01, 02, ... và tập lệnh đọc hàng đợi thư mục, tìm số tập tin cuối cùng và tăng nó lên 1). Tôi sử dụng nó với phần mềm mô phỏng in hai mặt ( duplexpr ) để loại bỏ hàng tấn tổ hợp phím và chuyển động chuột.

Tôi đã thấy một số kịch bản khác từ các game thủ cho phép họ truy cập thông tin về nhân vật và tài nguyên của họ rất nhanh để họ có thể tập trung vào hành động.


1
Bạn có thể thêm một số thông tin về việc cài đặt nó và có thể sử dụng nó không? Điêu đo thật tuyệt vơi!
Seth

AutoKey đã được di chuyển một phần từ code.google sang GitHub. Xem github.com/autokey/autokey . Ngoài ra còn có một nhánh Python 3 - github.com/guoci/autokey-py3 .
Joe

Phiên bản hiện tại của AutoKey là tại github.com/autokey/autokey Chi nhánh Python 2 đã bị khấu hao.
Joe

7

SỬ DỤNG TỪ KHÓA PHÍM NHƯ NHƯNG NÚT

Bạn có thể muốn ánh xạ một phím bàn phím đến một nút chuột. Nếu bạn muốn nhấp bằng phím bàn phím (hữu ích nếu bạn có macbook hoặc nút trackpad xấu) thì bạn có thể làm như sau.

  1. cài đặt một số tiện ích:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. tìm mã khóa cho khóa bạn muốn ánh xạ:

    • xev | grep keycodevào thiết bị đầu cuối
    • nhấn phím quan tâm và một dòng như thế này sẽ xuất hiện:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. sử dụng mã khóa, ánh xạ lại phím để làm tương tự như nút chuột trái:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3là nút chuột phải và Pointer_Button2là giữa.


4

Sử dụng xkb

xkblà phần mở rộng Bàn phím X. Nó chịu trách nhiệm ánh xạ các phím trên bàn phím của bạn đến chức năng được chỉ định của chúng. xkbbiểu tượng có thể được tìm thấy trong /usr/share/X11/xkb/symbols/. Các phím bổ trợ được ánh xạ vào /usr/share/X11/xkb/symbols/pc.

Nói, tôi cần phải chuyển đổi chức năng Caps LockLeft Controlphím. Những thay đổi này là bắt buộc đối với pctệp:

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

Để áp dụng ánh xạ mới, bạn cần xóa xkbbộ nhớ cache khỏi /var/lib/xkb:

rm -rf /var/lib/xkb/*

Bây giờ, chỉ cần khởi động lại phiên X của bạn và bạn đã sẵn sàng để đi.

Nguồn: https://radu.cotescu.com/remicking-keys-in-ubfox-14.04/

Chỉnh sửa: Thực hiện một lsbên trong symbolsthư mục cung cấp cho điều này:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

Các ánh xạ bên trong tệp rudựa trên bàn phím tiêu chuẩn của Nga. Các macintosh_vndrthư mục chứa các ánh xạ cho bàn phím Apple. Tóm lại, cách tiếp cận này rất linh hoạt. Hãy tiếp tục và chơi với nó :)


Bạn đã đề cập đến 2 tập tin. Những thay đổi tập tin được thực hiện để? :)
Seth

Tôi chỉ đề cập đến một tập tin - /usr/share/X11/xkb/symbols/pc.
năm15

Lỗi của tôi. Mất một cái nhìn thứ hai để nhận ra rằng đường dẫn đầu tiên là một thư mục, không phải là một tập tin. Đã chỉnh sửa để làm cho nó rõ ràng hơn :)
Seth

3

Hóa ra nó nằm dưới ứng dụng 'bàn phím'.

Nếu bạn đưa nó lên, bạn có thể thay đổi các phím tắt khi cần ...

thay đổi là một chút lạ khi sử dụng lần đầu tiên. Bạn nhấp vào bên phải (cột có ctrl-alt-T, Đã tắt, v.v. sau đó nhấp vào các phím thực tế, ví dụ như ctrlaltbbạn muốn. Bạn sẽ thấy chuỗi khóa mới xuất hiện trong không gian đó. Đóng cửa sổ ( hoặc nhấp đi) và phím tắt mới sẽ hoạt động.


1

Phím tắt đã tồn tại dưới dạng WWW, chỉ cần thay đổi nó thành Ctrl+ Alt+ b. Không cần phải tạo một cái mới.

nhập mô tả hình ảnh ở đây


1

Trình quản lý cài đặt CompizConfig (CCSM)

CCSM cho phép bạn thay đổi một số phím tắt hệ thống.

Để cài đặt nó, hãy sử dụng Trung tâm phần mềm hoặc lệnh này:

sudo apt-get install compizconfig-settings-manager

Ví dụ

Tôi đã sử dụng nó để thay đổi phím tắt "Cửa sổ trải rộng" từ mặc định Super+ Wthành Super+ Tab, như trên Windows 10. Từ câu trả lời của tôi trên một luồng khác :

  1. Chạy CCSM từ Dash.
  2. Chuyển đến Quản lý cửa sổ -> Tỷ lệ -> tab Ràng buộc -> Khởi tạo Trình chọn cửa sổ
  3. Nhấp vào phím tắt ( <Super>wtrên PC của bạn, nhưng <Super>Tabtrong ảnh chụp màn hình này).

    CCSM - Quản lý cửa sổ - Quy mô

  4. Nhấp vào tổ hợp phím Grab , bấm (các) phím mong muốn, sau đó bấm OK.

    Chỉnh sửa Khởi tạo Trình chọn Cửa sổ


1

Tôi muốn nhấn Print Screen để lưu ảnh chụp màn hình bằng gnome-screenshotứng dụng, như trong Mint

Nhưng tôi muốn làm điều đó bằng thiết bị đầu cuối, không phải GUI, vì tôi muốn làm cho nó mặc định trong khi tạo ISO tùy chỉnh bằng squashfscác công cụ.

Đầu tiên tôi cài đặt ảnh chụp màn hình gnome bằng lệnh

sudo apt-get install gnome-screenshot

Sau đó, tôi đã chỉ định phím tắt tùy chỉnh bằng Cài đặt -> Bàn phím -> Phím tắt tùy chỉnh -> Nút Thêm (+) ->

Trong hộp thoại:

  • Tên: Ảnh chụp màn hình
  • Lệnh: gnome-screentshot

Nhấn nút Thêm

Sau đó nhấn Print screenphím.

Khóa bây giờ bị ràng buộc và tôi có thể lưu ảnh chụp màn hình theo yêu cầu.
Nhưng không sử dụng thiết bị đầu cuối, đó là cách GUI

Sau đó tôi cài đặt dconf-editorbằng

sudo apt-get install dconf-editor

Và tìm kiếm gnome-screenshot
tôi tìm thấy các ràng buộc khóa tùy chỉnh của mình tại đường dẫn này

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

Giá trị của các khóa là:

  • ràng buộc 'In'
  • lệnh 'gnome-ảnh chụp màn hình'
  • tên 'màn hình in'

Bây giờ tôi sao chép chúng và xóa phím tắt tùy chỉnh GUI

Tôi mở terminal và gõ các lệnh này

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

Và Voila

Bây giờ tôi có thể lưu ảnh chụp màn hình mà không cần bất kỳ GUI nào chỉ sử dụng dconfvà thiết bị đầu cuối. Tôi cũng không cần dconf-editorthêm nữa, nó chỉ được cài đặt để có được các giá trị.


1

Tôi đã thử giải pháp của Kevin (cách tiếp cận xmodmap) trên Ubuntu 18.04. Nó không hoạt động trong trường hợp của tôi. Tuy nhiên, thủ tục này đã làm cho nó hoạt động cuối cùng:

  • sao chép xmodmap .Xmodmaptrong một tập tin được gọi là .xsessionchứ không phải .xinitrc.
  • thay đổi quyền của tệp (nhấp chuột phải, thuộc tính, tab quyền, thay đổi quyền thành "đọc và ghi" và đánh dấu vào ô xuống cửa sổ)
  • thêm một ứng dụng khởi động với /home/<YOUR_USER_NAME>/.xsessionlệnh.
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.