Làm cách nào để ánh xạ lại các phím Caps Lock và Ctrl?


77

Tôi muốn sắp xếp lại các khóa của mình sao cho Ctrlhoạt động như Caps Lockchìa khóa và ngược lại. Ngoài ra, nếu có thể, tôi muốn các cài đặt chỉ khả dụng trong người dùng hiện đang đăng nhập. Làm thế nào tôi có thể đạt được điều này?

Tôi là người dùng vim, không giống như những người khác sử dụng máy này, vì vậy tôi chỉ muốn những cài đặt đó cho tài khoản của mình.


1
Điều này có giúp gì không?
Mitch


4
Tôi rất kinh ngạc vì đây không phải là một tính năng tiêu chuẩn trong cài đặt Linux trong thời đại ngày nay.
Edward Falk

Câu trả lời:


59

13.10+:

Cài đặt và sử dụng gnome-tweak-tool> Keyboard & Mouse> Keyboard> Additional Layout Options> Caps Lock behavior.

Trước 13.10:

Mở hộp thoại Tùy chọn bàn phím ( System -> Preferences -> Keyboard). Trên tab bố trí, nhấp vào Options...nút. Mở rộng Ctrl key positionphần và chọn Swap Ctrl and Caps Lock.

Những cài đặt đó nên được áp dụng mỗi khi bạn đăng nhập và sẽ chỉ ảnh hưởng đến tài khoản người dùng của bạn.


2
Tùy chọn này đã biến mất trong Ubuntu Saucy. Tôi không chắc làm thế nào để giải thích điều này nhưng nó chỉ đơn giản là không có ở đó. Tùy chọn Bàn phím không có "tab Bố cục", nhưng có nút "cài đặt bố cục" và khi tôi nhấp vào, nó sẽ đưa tôi đến tab "Nguồn đầu vào" của bảng "Vùng & Ngôn ngữ", thiếu một cách bí ẩn của nút 'Tùy chọn'. Nút duy nhất ở đó mở ra một bàn phím ảo trên màn hình hiển thị bố cục bàn phím bị hỏng cho tôi mà không có cách nào thay đổi phím nào hoạt động theo cách nào.
robru

4
Đối với Ubuntu 13.10, bạn sẽ cần sử dụng công cụ chỉnh sửa gnome.
Jeremy Bícha

1
Tùy chọn Pre 13.10 hoạt động với tôi trong 14.04
JeremyKun

Tương tự như @JeremyKun. Trong trường hợp của tôi, sử dụng 14.04, giải pháp trước 13.10 đã hoạt động nhưng 13.10+ không
matiascelasco

Cảm ơn câu trả lời này! Điều gnome-tweak-toolnày thực sự tốt đẹp; bạn cũng có thể sử dụng nó cho các tính năng như "sử dụng Caps Lock để chuyển đổi bố cục bàn phím" (yêu thích cá nhân) và "chuyển đổi Alt / Win" (rất hữu ích nếu bạn là người dùng Mac lâu năm ...)
Per Lundberg

63

Một trong những cách tốt nhất để làm điều đó bằng đồ họa là cài đặt Gnome Tweak Tool :

sudo apt-get install gnome-tweak-tool

  • Mở công cụ chỉnh sửa và nhấp vào phần ở cột bên trái.
  • Bây giờ bạn sẽ thấy hành vi phím Caps Lock ở bên trái.
  • Chọn Make Caps Lock một phím Ctrl bổ sung thay vì Vô hiệu hóa trong danh sách thả xuống và bạn sẽ ổn.

Ngoài ra, bảng điều khiển cài đặt không mất nhiều thời gian để xuất hiện trên máy của tôi, vì vậy tôi không biết vấn đề là gì.

Tận hưởng Ctrlchìa khóa mới của bạn !


Tôi muốn sử dụng phím CAPS để tắt màn hình. Tôi đã thiết lập tính năng này trước trong cửa sổ Cài đặt hệ thống> bàn phím, nhưng CAPS vẫn bật trạng thái CapsLock và đèn LED. Vì vậy, tôi đã vô hiệu hóa khóa bằng công cụ mà bạn đề xuất (có một số lỗi hiển thị btw. - nền cửa sổ trong suốt), điều này cũng khiến phím tắt tùy chỉnh của tôi không hoạt động. Sau khi vô hiệu hóa, tôi phải thiết lập lại phím tắt để nó hoạt động. Nó được đặt thành giá trị 0xff hoặc đại loại như thế này thay vì CAPS. Tôi nghĩ thủ tục này có thể giúp một số độc giả tương lai có mong muốn tương tự.
Chỉ huy Byte

Khi tôi chạy công cụ gnome-Tune-tool từ dòng lệnh, sẽ có thông báo lỗi về shell không chạy DBus và sau đó mọi nỗ lực tôi thực hiện để thay đổi cài đặt đều không có hiệu lực.
Edward Falk

1
Cập nhật: gnome-chỉnh-công cụ chỉ hoạt động bên trong vỏ gnome
Edward Falk

1
không có phần "gõ" trong cột bên trái của tôi: chỉ Máy tính để bàn, Phông chữ, Shell, Tiện ích mở rộng Shell, Chủ đề, Windows.
Reb.Cabin

2
Lưu ý tùy chọn trong gnome-chỉnh-tool để hoán đổi nằm trong "Vị trí phím Ctrl", không phải "Hành vi phím Caps Lock".
Phil Goetz

59

Đây là một cách để làm điều đó mà không cần cài đặt phần mềm bổ sung:

setxkbmap -layout us -option ctrl:nocaps

Nguồn:


3
Điều này không tồn tại sau khi khởi động lại. Làm thế nào tôi có thể làm điều này vĩnh viễn? Tôi không muốn đặt điều này trong một tập lệnh khởi động (ví dụ: .bashrc).
nic

8
@nic Bạn cũng cần thay đổi tập tin sudo vi /etc/default/keyboardvà thay đổi XKBOPTIONS="ctrl:nocaps". Chạy lệnh của Jorge sau đó nhưng như setxkbmap -option ctrl:nocapsvậy nó không thay đổi bố cục bàn phím mặc định của bạn.
Léo Léopold Hertz

43

Mở phần sau để chỉnh sửa:

sudo vi /etc/default/keyboard

Và chỉnh sửa XKBOPTIONS="ctrl:swapcaps"

Sau đó, cấu hình lại:

sudo dpkg-reconfigure keyboard-configuration

hoặc là

/usr/bin/setxkbmap -option "ctrl:swapcaps"

Câu hỏi là "Tôi muốn những cài đặt đó chỉ dành cho tài khoản của tôi." Chỉnh sửa / etc / default / keyboard sẽ thay đổi nó cho mọi người.
trượt tuyết

1
bạn có 3 bước (1, 2, 3). Ý bạn là [(1 và 2) hay 3] hay [1 và (2 hoặc 3)]?
jgomo3

Tuyệt quá! Ran sudo dpkg-reconfigure keyboard-configurationvà nhấn vài bước vào, và nó hoạt động !!! EDIT: tuy nhiên, sau khi tôi đăng xuất và đăng nhập lại, cài đặt sẽ biến mất. :(
LeOn - Han Li

24

Để thay đổi vĩnh viễn hành vi:

  1. chạy dconf-editor

  2. lựa chọn org.gnome.desktop.input-sources

  3. Thay đổi xkb-optionsthành ['ctrl:nocaps'](hoặc thêm nó vào bất kỳ tùy chọn hiện có)

hoặc trên dòng lệnh ( Cảnh báo - phần này sẽ ghi đè cài đặt hiện có của bạn! ):

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

Lớp lót này cũng có thể được thêm vào ~ / .profile cho tính di động.
jthetzel

Điều này không hoạt động với tôi trên Kubfox 16.04, ngay cả sau khi khởi động lại.
zplizzi

3
cài đặt dconf áp dụng ngay lập tức và liên tục, vì vậy sẽ không có ý nghĩa gì khi đặt nó vào ~ / .profile và không cần phải khởi động lại. Cài đặt cụ thể này chỉ áp dụng cho Gnome / Unity, không phải KDE được sử dụng trong Kubfox.
Anton Eliasson

4

Đây là một nhiệm vụ dễ dàng một khi bạn biết cách thực hiện nó.

1) Kiểm tra mã khóa của khóa của bạn. Chạy chương trình này tại thiết bị đầu cuối.

xev


Trong ví dụ này, thiết bị đầu cuối cho thấy mã khóa cho tôi klà "45".

2) Thay đổi chúng khi bạn muốn tạo tệp này:

gedit ~ / .Xmodmap

Nội dung của nó sẽ giống như ví dụ này:

mã khóa 37 = Caps_Lock NoSymbol Caps_Lock
mã khóa 66 = Control_L NoSymbol Control_L

(Thay đổi số mã khóa nếu cần - xem bước "1")

Ilustration:
(Quan sát: nếu tôi muốn thay đổi, tôi knên sử dụng "mã khóa 45" như được hiển thị ở bước "1").

4) Đăng xuất và đăng nhập lại hoặc khởi động lại hoặc chạy này:

xmodmap ~ / .Xmodmap

Hy vọng bạn thích ;-)


2
Lưu ý rằng giải pháp này có thể gây ra sự cố cho mọi thứ trừ các keymap đơn giản nhất. Khả năng tương thích xmodmap trong hệ thống xkb mới hơn là không hoàn hảo, vì vậy có lẽ bạn nên gắn bó với xkb nếu có thể.
James Henstridge

@James bạn muốn giải thích làm thế nào chúng ta có thể làm điều đó?
desgua

Xem câu trả lời khác cho câu hỏi này. Bảng điều khiển bàn phím tiêu chuẩn sẽ xây dựng và sơ đồ bàn phím xkb từ bố cục cơ sở bạn chọn cộng với các tùy chọn bạn bật.
James Henstridge

1
Chà, bạn có thể thiết lập các keymap tương tự bằng setxkbmapchương trình dòng lệnh . Viết keymap mới là có thể, nhưng tham gia nhiều hơn một chút so với ánh xạ mã khóa Xmodmap. Một điều tốt là hầu hết các biến thể tùy chọn bạn muốn đã có sẵn.
James Henstridge

1
@James. Tôi đã tìm kiếm và tìm hiểu về setxkbmap. Nhưng tôi không thể tìm thấy câu trả lời cho: có thể sắp xếp lại một chìa khóa cho bất cứ điều gì chúng ta muốn không? Ví dụ, một cái gì đó lập dị như: "mã khóa 51 = barright braceright ngoặc vuông braceright baracer"?
desgua

4

Đây là cách thực hiện thủ công (không có công cụ bổ sung), thông qua XKB, đây là trình quản lý khóa mặc định cho Ubuntus gần đây. Sửa đổi /usr/share/X11/xkb/symbols/pc, phần xkb_symbols "pc105":

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

Đăng nhập / đăng xuất hoặc khởi động lại. Xem ở đây để biết thêm chi tiết.

Ngoài ra, bạn có thể trao đổi ở cấp mã khóa, được phát ra bởi các nút đó. Modify /usr/share/X11/xkb/keycodes/evdev:

<CAPS> = 64; //66;
<LCTL> = 66; //64

Bạn sẽ cần phải sudo rm -rf /var/lib/xkb/*áp dụng các thay đổi.


Điểm tuyệt vời về làm việc ở cấp độ của mã khóa. Trên máy tính xách tay của tôi chạy Kubfox Bionic, chỉ thay đổi ở cấp biểu tượng là không thỏa đáng vì nhấn phím Caps vật lý vẫn làm thay đổi trạng thái Caps bên trong. Thay đổi mã khóa hoạt động! BTW Tôi đã mở rộng khóa này thành ba khóa (Caps, Meta và RAlt) và muốn lưu ý rằng bạn thực sự cần phải viết <CAPS> = *orig code of the physical key you want to act **as** CAPS*chứ không phải <CAPS> = *orig code of the key you want physical CAPS to act **as**(tôi hy vọng sự khác biệt là rõ ràng). Sự phân biệt này là cần thiết trong những trường hợp như vậy.
jamadagni

3

Câu trả lời được chấp nhận là khó hiểu vì gnome-chỉnh-công cụ không hiển thị bất kỳ phần "gõ".

Thay vào đó, nhấp vào phần "Bàn phím & Chuột" và sau đó chọn "Tùy chọn bố cục bổ sung". Ở đó, bạn sẽ thấy "hành vi Caps Lock" cho phép chuyển đổi khóa mũ thành các khóa khác nhau.

Ảnh chụp màn hình từ công cụ chỉnh sửa


2

Trên các bản phân phối dựa trên KDE (như KDE Neon hoặc Kubfox), hành vi này có thể được cấu hình trong cài đặt hệ thống thông thường. Mở cài đặt hệ thống, chọn "Thiết bị đầu vào" => "Bàn phím" => "Nâng cao". Trong danh mục "Vị trí phím Ctrl", chọn "Hoán đổi Ctrl và Caps Lock".

Ảnh chụp màn hình mô-đun Bàn phím Cài đặt Hệ thống của KDE


0

gnome-chỉnh 3.28.1 không có Typingphần.
Vì vậy, setxkbmap -layout us -option ctrl:nocapshoặc setxkbmap -layout us -option ctrl:swapcapssẽ là lựa chọn khả thi.

Để làm cho nó vĩnh viễn, bạn có thể tham khảo câu trả lời của @name.


Bàn phím và chuột -> tùy chọn bố trí bổ sung
Voyager
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.