1 Vậy công cụ sửa đổi cấp 5 làm gì?
Nó chọn cấp độ thứ năm. Công cụ sửa đổi cấp độ 2 (chỉ là thay đổi thông thường) chọn cấp độ thứ hai và cấp độ thứ ba chọn cấp độ thứ ba.
Lý do mà công cụ sửa đổi cấp 5 chọn cấp thứ năm thay vì cấp thứ tư (ngay sau công cụ sửa đổi cấp 3) là ba công cụ sửa đổi này có thể được kết hợp theo nhiều cách khác nhau để chọn tám cấp khác nhau (bao gồm không sử dụng bất kỳ công cụ sửa đổi nào, mà chỉ cần nhấn một phím mà không có bất kỳ sửa đổi như vậy). Có tám kết hợp kể từ 2 3 = 8. Đối với hai sửa đổi đầu tiên, có bốn kết hợp:
- Không có sửa đổi (cấp 1)
- Công cụ sửa đổi cấp độ 2, còn gọi là dịch chuyển (cấp độ 2)
- Công cụ sửa đổi cấp 3 (cấp 3)
- Công cụ sửa đổi thứ 2 + 3 (cấp 4)
Thêm công cụ sửa đổi thứ ba (cấp 5) thêm bốn cấp nữa.
Sầu 2. Làm thế nào để thiết lập nó để tôi có thể nhận được 5 hoặc sáu nhân vật khác nhau ra khỏi một chìa khóa duy nhất (được sửa đổi bởi Shift, Alt Grvà Right
Ctrlví dụ)?”
Trước hết bạn cần một bố cục sử dụng năm ký tự trở lên cho mỗi khóa. Bạn có thể chọn bố cục hiện có, nhưng nếu bạn chỉ muốn thêm nhiều cấp độ hơn vào bố cục bạn đang sử dụng, điều đó có thể không tối ưu. Ví dụ: có bố cục bàn phím Neo († 1), nhưng đó được tối ưu hóa cho ngôn ngữ tiếng Đức nên không phù hợp với hầu hết người nói tiếng Anh.
Tuy nhiên, có thể có hướng dẫn để xem Neo đã chọn khóa nào cho công cụ sửa đổi cấp 5.
Neo rõ ràng gọi công cụ sửa đổi cấp 5 cho phiên bản Mod4. Vì vậy, như bạn có thể thấy nó sử dụng phím ở bên phải của phím shift trái ( LSGT
) và phím / phím alt bên phải AltGr
. Đây là trên một bàn phím châu Âu (105 phím) so với bàn phím Mỹ (104 phím) có sự dịch chuyển trái hẹp và phím trở lại cao và mỏng. Đối với cách bố trí bàn phím dựa trên bàn phím Hoa Kỳ, người ta có thể phải sử dụng hoặc muốn chọn các phím khác.
Chọn khóa bổ trợ cấp 5
Trong câu trả lời của sup, anh chọn sử dụng Xmodmap. Ngày nay, các công cụ như Setxkbmap được khuyên dùng trên Xmodmap. Xkb đi kèm với nhiều tùy chọn được xác định trước cho những việc như chọn công cụ sửa đổi cấp 5. Nếu bạn tham khảo
man xkeyboard-config và tìm kiếm lv5
bạn sẽ tìm thấy các tùy chọn sau:
┌──────────────────────┬───────────────────────────────────────────────────┐
│ Option │ Description │
├──────────────────────┼───────────────────────────────────────────────────┤
│ lv5:lsgt_switch_lock │ <Less/Greater> chooses 5th level; acts as onetime │
│ │ lock when pressed together with another 5th level │
│ │ chooser │
├──────────────────────┼───────────────────────────────────────────────────┤
│ lv5:ralt_switch_lock │ Right Alt chooses 5th level; acts as onetime lock │
│ │ when pressed together with another 5th level │
│ │ chooser │
├──────────────────────┼───────────────────────────────────────────────────┤
│ lv5:lwin_switch_lock │ Left Win chooses 5th level; acts as onetime lock │
│ │ when pressed together with another 5th level │
│ │ chooser │
├──────────────────────┼───────────────────────────────────────────────────┤
│ lv5:rwin_switch_lock │ Right Win chooses 5th level; acts as onetime lock │
│ │ when pressed together with another 5th level │
│ │ chooser │
└──────────────────────┴───────────────────────────────────────────────────┘
Vì vậy, các tùy chọn được ghi lại là LSGT
khóa, phím alt bên phải, phím Windows phải và phím Windows bên trái. Như chúng ta đã thấy, Neo sử dụng hai tùy chọn đầu tiên.
Nói rằng bạn muốn sử dụng lv5:ralt_switch_lock
tùy chọn với một số bố cục. Lệnh này thiết lập us
bố cục với phím bổ trợ cấp 5 này:
setxkbmap -option "lv5:ralt_switch_lock" us
Vì vậy, đối với bất kỳ tùy chọn nào được ghi lại man xkeyboard-config
, hãy sử dụng nó làm đối số -option
khi sử dụng Setxkbmap.
Trong trường hợp các tùy chọn này là không đủ và bạn muốn xác định một khóa khác là công cụ sửa đổi cấp 5, việc xem xét các khai báo cho các tùy chọn này là điều nên làm. Họ dường như được ở trong
/usr/share/X11/xkb/symbols/level5
. Tuyên bố cho
lv5:ralt_switch_lock
hình như thế này:
partial modifier_keys
xkb_symbols "ralt_switch_lock" {
include "level5(lock)"
key <RALT> {
type[Group1] = "EIGHT_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
Phía bên phải symbols[Group1]
khai báo khóa nào hoặc ký tự mỗi cấp của khóa sẽ tạo ra. Điều này sử dụng tất cả tám cấp độ có thể vì nó được cho là khóa công cụ sửa đổi cấp 5 khi được nhấn cùng với một phím shift cấp 5 khác. Vì vậy, các cấp độ 5 phát ra 8
ISO_Level5_Lock
vì tất cả các cấp độ này được truy cập bằng cách giữ phím 5 cấp độ và một số tổ hợp các phím dịch chuyển khác (không có cho tất cả các cấp độ này). Nếu bạn chỉ muốn hành vi thay đổi và không phải là hành vi khóa nếu nhấn hai lần, bạn có thể khai báo đơn giản hơn (từ cùng một tệp):
// The right Alt key (while pressed) chooses the fifth shift level.
partial modifier_keys
xkb_symbols "ralt_switch" {
key <RALT> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
include "level5(modifier_mapping)"
};
Thêm cấp độ bổ sung cho bố cục
Bố cục Xkb là mô-đun khá. Bạn có thể bao gồm các bố trí hiện có và thay đổi chúng. Vì vậy, chúng ta có thể chọn một bố cục hiện có với ít hơn 5 cấp độ và thêm một số cấp độ cho nó.
Bạn có thể tạo bố cục mới bằng cách sao chép tệp cùng với bố cục của mình
/usr/share/X11/xkb/symbols/
hoặc bất cứ nơi nào công cụ Xkb của bạn tìm bố cục. Nhưng điều này đòi hỏi đặc quyền sudo vì vậy nó không phải là giải pháp tốt nhất. Ngoài ra, bạn có thể sao chép cấu trúc thư mục của xkb/
và đặt bố cục của bạn vào thư mục thích hợp bên dưới xkb/
, cụ thể là
symbols/
. Vì vậy, nói rằng bạn đã thực hiện một tập tin xkb-tree/symbols/my-layouts
. Để sử dụng bố cục được xác định trong tệp này, bạn có thể sử dụng -print
tùy chọn setxkbmap
và sau đó chuyển đầu ra sang xkbcomp
. Kịch bản trình bao bọc này lấy bố cục làm đầu vào:
#!/bin/sh
# `-option ""` resets all options.
setxkbmap -option "" -layout "$1" \
-print |
xkbcomp -I"<path-to-project>/xkb-tree" - "$DISPLAY"
Đối với các tập tin có bố cục có liên quan, giả sử rằng chúng tôi muốn mở rộng bố cục của International US US, sử dụng bốn cấp độ. Trước hết, chúng tôi thiết lập các phím shift cấp 3 và cấp 5 giống như cách Neo thực hiện:
partial alphanumeric_keys
xkb_symbols "mine" {
// US international
include "us(intl)"
// Set up level 3 modifiers.
include "level3(modifier_mapping)"
include "level3(bksl_switch)"
include "level3(caps_switch)"
// Set up level 5 modifiers.
include "level5(modifier_mapping)"
include "level5(lsgt_switch)"
include "level5(ralt_switch)"
};
Bây giờ chúng tôi muốn thêm một số nhân vật. Chúng ta hãy sử dụng bốn khóa đầu tiên của bố cục Qwerty làm ví dụ. Những phím Q
để R
, tương ứng với <AD01>
tới <AD04>
. Đầu tiên chúng ta cần tạo các khóa có khả năng sử dụng tới tám cấp độ:
key.type[Group1] = "EIGHT_LEVEL";
Đối với bốn cấp độ đầu tiên, để không xác định lại chúng, chúng tôi ánh xạ chúng tới NoSymbol
. Sau đó, chúng tôi thêm hai cấp độ. Trên cấp 5, chúng tôi thêm các mũi tên ←↓↑→
(2). Trên cấp 6, chúng tôi thêm các phím điều hướng. Bố cục của chúng tôi kết thúc như thế này:
partial alphanumeric_keys
xkb_symbols "mine" {
// US international
include "us(intl)"
// Set up level 3 modifiers.
include "level3(modifier_mapping)"
include "level3(bksl_switch)"
include "level3(caps_switch)"
// Set up level 5 modifiers.
include "level5(modifier_mapping)"
include "level5(lsgt_switch)"
include "level5(ralt_switch)"
// Make the following keys capable of using eight levels.
key.type[Group1] = "EIGHT_LEVEL";
key <AD01> { [
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
leftarrow, Left
] };
key <AD02> { [
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
downarrow, Down
] };
key <AD03> { [
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
uparrow, Up
] };
key <AD04> { [
NoSymbol, NoSymbol, NoSymbol, NoSymbol,
rightarrow, Right
] };
};
Để sử dụng nó, chúng ta có thể sử dụng tập lệnh bao bọc mà chúng ta đã tạo:
./setxkbmap-wrapper "my-layouts(mine)"
† 1: Neo nằm de(neo)
trong Xkb; setxkbmap "de(neo)"
.
2: Để tìm tên tượng trưng mà Xkb sử dụng, hãy tìm kiếm một tệp có tên keysymdef.h
. Nó nên nằm dưới một thư mục có tên X11/
. Bạn cũng có thể sử dụng tên Unicode, ví dụ U2192
cho U + 2192.