Ánh xạ lại mũ khóa để thoát và trình đơn để soạn thảo, trên bảng điều khiển linux


9

Khi chạy XI, hãy sử dụng .xmodmaprc để ánh xạ lại một số khóa nhất định:

! Make it so that both Caps Lock and Escape do Escape
clear Lock
keysym Caps_Lock = Escape
! Remap the menu key as Compose
keysym Menu = Multi_key

Làm thế nào tôi có thể hoàn thành những điều tương tự trên bàn điều khiển?

cập nhật

Ngoài giải pháp một phần được đưa ra trong câu trả lời của tôi, tôi đã biết rằng bảng điều khiển ánh xạ CTRL- .thành Compose. Vì vậy tôi có thể quen với điều đó. Thiết lập phím Menu vì Soạn không dễ dàng thực hiện, vì có rất nhiều mã phím được gán nul và không có ứng cử viên rõ ràng cho tên thay thế cho Menu.

Tôi cũng đã nhận ra rằng các ràng buộc soạn thảo bị giới hạn hơn nhiều so với những gì tôi đã sử dụng dưới X và hầu hết các ký tự đặc biệt tôi sử dụng thường không có ở đó. Có lẽ có một tiện ích sẽ dịch các cú pháp kết hợp cú pháp X thành một cái gì đó loadkeyscó thể đọc được?


1
Theo truyền thống: với loadkeys. Tôi nghĩ rằng ngày nay bạn có thể có được giao diện điều khiển Linux để đọc cấu hình X, nhưng tôi không biết cách thức hoạt động của nó.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


8

Bạn sẽ phải chỉnh sửa sơ đồ bàn điều khiển của bạn. Trên bảng điều khiển của tôi, tôi đã ánh xạ Escape to Caps Lock và Caps Lock thành Escape. Đây là cách nó hoạt động.

  1. Đầu tiên bạn cần tìm sơ đồ của bạn. Tôi sử dụng bố trí tiêu chuẩn Hoa Kỳ. Trên hệ thống của tôi, nó nằm dưới /usr/share/keymaps/i386/qwerty/us.map.gz.
  2. Tạo một bản sao của tập tin dưới một tên mới, ví dụ us-nocaps.map.gz.
  3. Giải nén tệp và mở nó trong trình soạn thảo văn bản: gunzip us-nocaps.map.gz && vim us-nocaps.map
  4. Thay đổi ánh xạ trong tệp theo ý thích của bạn, ví dụ tôi đã keycode 58 = Caps_Lockthay đổi thành keycode 58 = Escape.
  5. Gzip tệp và tải nó : gzip us-nocaps.map && loadkeys us-nocaps.

Một điều nữa: Có lẽ bạn sẽ phải định cấu hình phân phối của mình bằng cách nào đó để đảm bảo rằng các keymap mới luôn được tải khi khởi động, nếu không bạn sẽ phải tải sơ đồ bàn phím của mình loadkeysmọi lúc. Cách bạn làm điều đó phụ thuộc vào phân phối bạn đang sử dụng.


1
Bước gunzip không thực sự cần thiết ở đây - trong hầu hết các phiên bản của vimbạn chỉ có thểvim us-nocaps.map.gz
glittershark

3

Đối với các bản phân phối Debian mới hơn, bạn không cần tất cả điều này nữa.

Các tập tin bàn phím mô tả các thuộc tính của bàn phím. Nó được đọc bởi setupcon(1)để cấu hình bàn phím trên bàn điều khiển. Trong các hệ thống Debian, bố cục bàn phím mặc định được mô tả /etc/default/keyboardvà nó được chia sẻ giữa X và bàn điều khiển. (bàn phím đàn ông)

Trong /etc/default/keyboardtập hợp XKBOPTIONS="caps:escape"và sau đó làm:

~$ sudo setupcon

Mô tả về tất cả các kiểu bàn phím, bố cục, biến thể và tùy chọn có sẵn trong /usr/share/X11/xkb/rules/xorg.lst. "(Bàn phím nam)


1

Với một số trợ giúp từ Cedric, tôi đã phát hiện ra rằng Ubuntu đã không cài đặt các keymap trong đó $ man loadkeysnói rằng chúng được cho là ( /usr/share/keymaps). Đây là một cài đặt hoàn toàn mới, vì vậy có lẽ tôi chỉ cần cài đặt một gói để có được các keymap khác với cài đặt tôi đã chọn trong khi cài đặt.

Thay vì theo đuổi góc độ đó, và trong nỗ lực làm cho giải pháp mạnh mẽ và thuận tiện hơn một chút, tôi đang làm điều này:

    $ sudo dumpkeys | sed 's/CtrlL_Lock/Escape/' | sudo loadkeys

Mặc dù tôi hơi bối rối về lý do tại sao hệ thống của Cedric sử dụng Caps_Lockcho khóa mũ và sử dụng của tôi CtrlL_Lock, nhưng nó hoạt động bất kể.


Điều đó thật thú vị, tôi không biết có sự khác biệt giữa các bản phân phối với các keymap đó. Cá nhân tôi sử dụng Gentoo, các keymap được lấy từ gói sys-apps / kbd-1.15.
Cedric

2
Kể từ Ubuntu 10.04, các keymap nằm trong console-datagói. Chúng không được cài đặt theo mặc định. Bạn có thể tìm ra gói nào cài đặt các tập tin /usr/share/keymapsbằng cách chạy apt-file search /usr/share/keymaps.
Gilles 'SO- ngừng trở nên xấu xa'
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.