Sử dụng setxkbmap cho bản tóm tắt đơn giản (tương tự xmodmap)


13

Tôi đã gặp một số vấn đề sau khi ánh xạ lại bàn phím với xmodmap: cài đặt được đặt lại ngẫu nhiên sau 2-20 phút sau khi áp dụng. Googled nó nhưng không có sự giúp đỡ: một cái gì đó đặt lại chúng, nhưng tất cả các đề cập đều áp dụng cho xfce, trong khi tôi sử dụng Ubuntu 14.04 thông thường với sự thống nhất.

Tôi đã thấy các cụm từ như 'sử dụng xkb, quên xmodmap', nhưng vẫn không biết làm thế nào để làm điều đó. Nó được phân loại hoặc rất phức tạp, vì lượng thông tin trên đó nhỏ hơn đáng kể so với cách xmodmap.

Đây là danh sách các tùy chỉnh của tôi:

xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"

trong đó mã khóa là các khóa tương ứng trên numpad, với numlock = off (về cơ bản, tôi đang thay thế KP_Del bằng Xóa, KP_Home bằng Trang chủ, v.v. - đừng hỏi tại sao))

Ai đó có thể giúp tìm cách làm điều đó bằng xkb - ít nhất là một trong các dòng không? Và nơi để tìm "tên" của các khóa khác để tôi có thể làm phần còn lại bằng ví dụ?


5
Vâng. Có chính xác cùng một vấn đề. Xem tại đây: rlog.rgtti.com/2014/05/01/ trênhỏiubfox.com/questions/422650/ . Nếu bạn có thể tìm cách sử dụng xkbmà không cần viết lại các tệp hệ thống, hãy viết câu trả lời tại đây ... bạn sẽ được thưởng bởi hàng trăm lượt upvote.
Rmano

Wow - cuối cùng là một hướng dẫn ánh xạ lại xkb giúp mọi thứ rõ ràng hơn ... Nhưng tôi không thể thấy một điều gì về cách ánh xạ lại của Home, Xóa và Lên xuống & xuống. Nó luôn luôn là về một số chữ cái Hy Lạp hoặc Tây Ban Nha. Cho đến nay tôi đã đi theo cách khác - cố gắng để ngăn chặn hệ thống từ trọng thiết lập xmodmap tôi (recipe # 3 từ đây: programmingiroiro.blogspot.com/2013/03/... )
Den Drobiazko

1
Ý tưởng tồi - không có chuyển đổi bố cục có sẵn sau đó (
Den Drobiazko

Câu trả lời:


4

Bạn có thể làm theo ý tưởng chung được thấy trong câu trả lời của tôi về một vấn đề tương tự ; nếu bạn vẫn muốn chuyển đổi bố cục (mặc dù vẫn khá hỏng ), bạn nên xác định bố cục hoặc biến thể mới .

Lưu ý rằng mẫu để sao chép và sửa đổi để chỉnh sửa bàn phím hơi khó tìm. Trong bàn phím của tôi, ví dụ, hình học là "pc105"; điều này được định nghĩa trong /usr/share/X11/xkb/symbols/pc. Nếu bạn nhìn vào nó, nó bao gồm :

[...]
key <SPCE> {        [        space          ]       };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {        [ BackSpace, BackSpace  ]       };
[...]

Bàn phím được xác định trong tệp /usr/share/X11/xkb/symbols/keypad

[...] 
default  partial hidden keypad_keys
xkb_symbols "x11" {
   include "keypad(operators)"

   key  <KP7> {        [  KP_Home,     KP_7    ]       };
   key  <KP8> {        [  KP_Up,       KP_8    ]       };
[...]

Đối với tên của các ký hiệu khóa (keyims), nơi tốt nhất để tìm là vào tệp /usr/include/X11/keysymdef.h; bạn có thể cần phải cài đặt các gói phát triển để có nó (hoặc cài đặt nó bằng cách cài đặt x11proto-core-dev):

[...]
/* Cursor control & motion */

#define XK_Home                          0xff50
#define XK_Left                          0xff51  /* Move left, left arrow */
#define XK_Up                            0xff52  /* Move up, up arrow */
[...]

tên keyym là tên bạn đã xóa chuỗi "XK_".

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.