Cách ánh xạ lại phím Super (trái) để điều khiển phím


26

Bất cứ ai có thể xin vui lòng cho tôi biết làm thế nào để ánh xạ Superlại khóa (trái) của tôi để Ctrlkhóa?

Ý tôi là Super(trái) nên làm việc như Ctrlchìa khóa.


Bạn có muốn chỉ có phím Super bên trái hoạt động như Ctrl không? Thật dễ dàng để ánh xạ lại cả hai cùng một lúc từ cài đặt Bố cục Bàn phím, nhưng chỉ thay đổi một lần sẽ phải được thực hiện thông qua các tệp cấu hình.
pconley

Có, tôi chỉ muốn để lại phím Super để hoạt động như Ctrl ..
Sandy

Liệu siêu phím có đề cập đến phím trên bàn phím của tôi có logo MS Windows trên đó nằm giữa ctrl trái và alt alt trái / phải và một phím có logo lạ khác không?
René Nyffalanger

1
@ RenéNyffITEDger Phím Super là Windowsphím trên bàn phím PC và Commandphím trên bàn phím Apple. Tôi không hoàn toàn chắc chắn khóa khác mà bạn mô tả là gì
ký vào

Câu trả lời:


28

Để thực hiện các thay đổi lớn cho bàn phím của bạn, bao gồm ánh xạ lại các ký tự và thay đổi sửa đổi, bạn cần sử dụng tiện ích xmodmap - xem man xmodmap. Có một số cách để thực hiện các thay đổi:

  • hoặc từ dòng lệnh

    xmodmap -e "your commands"
    
  • hoặc viết các lệnh vào một tệp như thế .xmodmaprc, sau đó thực thi nó trong các mục đăng nhập hoặc .bashrc của bạn với

    xmodmap .xmodmaprc
    

    Nếu bạn đặt tên cho tệp, ~/.xmodmapnó sẽ được thực hiện tự động khi đăng nhập.

Bây giờ các lệnh

Những gì bạn muốn làm là một quá trình hai bước. Đầu tiên bạn hủy ánh xạ Super từ công cụ sửa đổi của nó, sau đó bạn ánh xạ nó để kiểm soát.

  1. Chạy xmodmap -pmtrong một cửa sổ đầu cuối để có được một danh sách các sửa đổi ràng buộc. Trên máy của tôi (và có lẽ là của bạn) Super được gọi là mod4. Super_LSuper_Rlà các khóa riêng biệt xuất ra cùng một sửa đổi.

    Bây giờ bạn có thể hủy sơ đồ sửa đổi từ nó. Chạy lệnh xmodmap (sử dụng một trong các phương pháp trên)

    remove mod4 = Super_L
    

    Bây giờ khóa vật lý vẫn được gọi bên trong là Super_L, nhưng nó không làm gì cả.

  2. Bây giờ chỉ cần ánh xạ lại nó. Chạy lệnh xmodmap:

    add control = Super_L
    

Nếu bạn muốn hoàn tác điều này sau này, chỉ cần chạy các lệnh tương tự với các đối số thích hợp.

Không có Super_R?

Đầu ra của xmodmap -pm có thể cung cấp cho bạn một số khóa có tên Super_L nhưng không có tên Super_R). Nếu đúng như vậy, bây giờ bạn có một số khóa bổ sung được gán cho Control, nhưng không có phím nào được gán cho Super. Bạn sẽ phải đổi tên một khóa. (NB: nó có thể cung cấp cho bạn một số Super_L và ít nhất một Super_R. Điều này tốt.)

Các tên chính trong bảng đều có số hex trong ngoặc đơn bên cạnh chúng. Số này là mã khóa vật lý của phím trên bàn phím của bạn (nó có thể thay đổi theo kiểu máy). Nếu bạn cần thay đổi một Super_L thành Super_R, trước tiên hãy tìm mã khóa bạn muốn được liên kết với Super_R (không chắc chắn đó là mã chính xác? Chạy xevsau đó chạm vào Super một vài lần. Ở đâu đó trong mê cung đầu ra là " mã khóa = 133 "(với một số khác)). Chạy lệnh xmodmap

keycode 133 = Super_R

đổi tên khóa, sau đó

add mod4 = Super_R

để gán nó cho Super.


Trước hết cảm ơn vì đã dành thời gian cho tôi. Khi tôi gõ "remove mod4 = Super_L" trong terminal, tôi nhận được thông báo này: remove mod4 = Super_L: không tìm thấy lệnh . Ảnh chụp màn hình: i.imgur.com/fbvEA.png
Sandy

1
Đó là một lệnh cho tiện ích xmodmap. Bạn phải chạy nó bằng một trong những phương pháp tôi đã đưa ra trong phần đầu tiên. Tôi đã chỉnh sửa câu trả lời của mình để làm cho nó rõ ràng hơn.
pconley

Bạn cũng có thể vui lòng cho tôi biết làm thế nào để chạy các lệnh đó khi khởi động?
Sandy

Khi bạn đăng nhập, hoặc khi hệ thống khởi động? Nếu trước đây, chỉ cần đặt các lệnh trong tệp '.xmodmap' trong thư mục chính của bạn; câu hỏi sau sẽ phù hợp hơn cho một câu hỏi riêng biệt dọc theo dòng chữ 'làm thế nào để tôi thực thi một tập lệnh khi khởi động' (những câu hỏi như vậy có lẽ đã được hỏi trước đó).
pconley

Đối với tôi đã không làm việc mà không có keyum . keysym Super_L = Control_L
Aliaksandr Sushkevich

19

Dòng lệnh:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Hoặc đưa vào ~/.Xmodmapđể kích hoạt khi khởi động:

remove mod4 = Super_L
add control = Super_L

4

Trên Ubuntu, bạn có thể chỉnh sửa /etc/default/keyboardvà thiết lập:

XKBOPTIONS = "altwin: ctrl_win"

Mà:

Ctrl được ánh xạ tới các phím Win (và các phím Ctrl thông thường)

Đọc man 5 keyboardđể biết thêm thông tin. Bạn có thể tìm thấy tất cả các kết hợp tùy chọn có thể có trên hệ thống của mình bằng cách thực hiện:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win

2

Nếu bạn muốn làm với GUI:

  1. Cài đặt / mở Gnome Tweaks
  2. Nhấp chuột Keyboard & Mouse
  3. Nhấp chuột Additional Layout Options
  4. Mở rộng Ctrl position
  5. Lựa chọn Swap Left Win with Left Ctrl

1

Hãy thử với điều này:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Đặt các dòng trên trong của bạn ~/.Xmodmapvà thực hiện xmodmap ~/.Xmodmap.

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.