Câu hỏi Phím CapsLock Remapping


Tôi đã remapped Phím Caps Lock chìa khóa để làm việc như thế này:

Phím Caps Lock + J = Phím mũi tên trái
Phím Caps Lock + K = Phím mũi tên xuống
v.v.

Tôi đã sử dụng xmodmap (như đã giải thích trong Ánh xạ Super + hjkl đến các phím mũi tên trong X).

Vấn đề là tôi dường như không thể làm cho các tổ hợp phím sau đây hoạt động:

Kỳ vọng: Phím Caps Lock + Shift + J = Shift + Phím mũi tên trái
Thực tế: Phím Caps Lock + Shift + J = không làm gì cả.
v.v.

Bạn có bất kỳ ý tưởng làm thế nào để làm cho nó hoạt động? Cảm ơn.


6
2018-05-14 21:27


gốc


Vui lòng đăng thay đổi xmodmap của bạn. - harrymc
Tôi không phải là một người linux nhưng, có lẽ xmodmap không thể phát hiện chuỗi phím CapsLock + J vì bạn đã giữ phím Shift xuống. Và tôi nghĩ nó sẽ không thay đổi. Kiểm tra bất kỳ phím nào trên bàn phím nói ctrl, alt, pgdn, v.v. - tumchaaditya


Các câu trả lời:


Không phải là câu trả lời trực tiếp, nhưng cách tốt nhất để tiếp cận điều này là xem những sự kiện nào đang được kích hoạt khi bạn nhấn các kết hợp bạn quan tâm. Để thực hiện việc này, hãy cài đặt xev và thử các kết hợp khác nhau.


2
2018-05-22 16:39





Tôi đã gặp vấn đề tương tự và hỏi lại AskUbuntu. Vấn đề có thể được giải quyết bằng cách:

đặt tham số bảo toàn

chỉnh sửa /usr/share/X11/xkb/types/iso9995 và thêm preserve[Shift+LevelThree] = Shift; sao cho nội dung của tệp trông giống như:

  partial default xkb_types "default" {

// A key type which can be used to implement
// an ISO9995-style level-three shift.

virtual_modifiers LevelThree;

type "THREE_LEVEL" {
    modifiers = Shift+LevelThree;
    map[None] = Level1;
    map[Shift] = Level2;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level3;
    preserve[Shift+LevelThree] = Shift;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Level3";
    };
};

tùy chỉnh tệp biểu tượng cho bố cục mong muốn

Chỉnh sửa tệp bố cục bàn phím trong /usr/share/X11/xkb/symbols/ như sau (thích nghi với nhu cầu của riêng bạn)

key <AC06>  { type="THREE_LEVEL", [   h,   H, Left  ]   }; 
key <AC07>  { type="THREE_LEVEL", [   j,   J, Down  ]   }; 
key <AC08>  { type="THREE_LEVEL", [   k,   K, Up    ]   }; 
key <AC09>  { type="THREE_LEVEL", [   l,   L, Right ]   }; 

và không thích

 ....
 key { [ j, J, Down, Down ] };
 ....

2
2017-07-03 00:13



Cảm ơn câu trả lời, có vẻ như nó có thể đúng. Tôi không thể chấp nhận nó, mặc dù. Tôi không có bất kỳ máy Ubuntu nào ngay bây giờ để dùng thử. - varad


Vấn đề của bạn có thể là capslock và shift gần như giống nhau trong phần cứng bàn phím của bạn, có thể là phím capslock của bạn chỉ kích hoạt vĩnh viễn phím shift.


0
2018-05-17 08:05



Bạn có thể kiểm tra điều này bằng cách nhấn Shift + J / Shift + K và xem liệu chúng có kích hoạt các phím được bật lại của bạn Caps Caps hay không. - Jaymz
Shift + J / Shift + K không bị ảnh hưởng bởi quá trình remapping của tôi. - varad


Nếu tôi đã hiểu rõ cách thức hoạt động của nó, hãy thử trong tệp đặc tả bàn phím để nói rõ ràng những gì bạn muốn, ví dụ như anh ta chuyển dịch, chẳng hạn như

key { [ j, J, Down, Next ] };
key { [ k, K, Up, Prior ] }; 

để có PageDn và PageUp --- Tôi không thể chek nó bây giờ, nhưng nên làm việc.


0
2017-10-11 02:10





Tôi đã thử nghiệm nhiều phương pháp được đề xuất nhưng tôi đã tìm thấy phương pháp này đơn giản nhất để triển khai và hiểu. Tạo tệp nano ~/.my_keyboard, dán mã bên dưới (thay đổi ánh xạ khóa theo kế hoạch của bạn) và chạy xmodmap ~/.my_keyboard.

clear lock
keycode 66 = Mode_switch

keysym h = h H Left Left hstroke Hstroke
keysym j = j J Down Down dead_hook dead_horn
keysym k = k K Up Up lstroke ampersand
keysym l = l L Right Right lstroke Lstroke

Điều này vô hiệu hóa tiêu chuẩn Caps Lock chức năng và phím remaps để Mode_switch bổ nghĩa. Để đặt lại cài đặt xmodmap bạn có thể chạy setxkbmap.

Đây là nguyên giải pháp tôi đã addapted.


-1
2017-09-10 01:22



Bạn đã thử nghiệm ... so với yêu cầu nào? Câu trả lời này có vẻ như thậm chí không cố trả lời câu hỏi này. OP muốn J = Trái; bạn đang lập bản đồ J xuống. OP muốn K = Down; bạn đang lập bản đồ K lên. OP muốn Caps Lock kết hợp với J và K, và bạn đang vô hiệu hóa nó? Làm thế nào điều này thậm chí gần như là một câu trả lời cho câu hỏi này? - Scott
OP muốn có thêm các phím mũi tên có thể truy cập bằng Caps Lock + một số phím. Ông đặc biệt muốn bản remapping này hoạt động với phím Shift để nó hoạt động giống như các phím mũi tên thông thường (chọn phím Shift + mũi tên). Liên kết của giải pháp một phần, ông cung cấp vô hiệu hóa chức năng bình thường của Caps Lock là tốt, và kể từ khi OP đã không đề cập đến đó là một vấn đề tôi giả định đó là OK. Lập bản đồ các phím cụ thể cho các mũi tên là tầm thường để thay đổi, nhưng đó là lỗi của tôi ở đây ... Tôi muốn làm chính xác điều tương tự vì vậy tôi nghĩ rằng tôi có ý tưởng những gì OP đã có trong tâm trí. - izumitelj