Điểm:2

tùy chọn xkb ghi đè bố cục bàn phím đặc biệt

lá cờ br

Tôi đã tạo một bố cục bàn phím tiếng Tây Ban Nha đặc biệt bao gồm tiếng Đức à trên AltGr-s và tiếng Scandinavi æ à (ae, AE), ø à (oe, OE) và Ã¥ à (aring, Aring ), trên AltGr-e, AltGr-E, AltGr-o, AltGr-O, AltGr-a và AltGr-A tương ứng. ⬠(EuroSign) đã được chuyển từ AltGr-e sang AltGr-5.

Điều này hoạt động rất tốt trên Ubuntu Budgie 21.04.Kể từ đó, tôi đã quay lại Ubuntu Budgie 20.04 LTS (cài đặt mới) trên cùng một máy, sao chép qua bố cục tùy chỉnh và thực hiện setxkbmap {custom_layout}. Đột nhiên, trên AltGr-e tôi có ⬠và trên AltGr-5 tôi có ½. Tôi không thể thấy điều gì đang xảy ra với thiết lập bên dưới. Bạn có thể giúp?

// Được sửa đổi cho bàn phím tiếng Tây Ban Nha thực bởi Jon Tombs.

alphanumeric_keys một phần mặc định
xkb_symbols "cơ bản" {

    bao gồm "tiếng Latinh (type4)"

    tên[Nhóm1]="tiếng Tây Ban Nha";

    phím <AE01> { [ 1, chấm than, thanh, chấm than ] };
    key <AE03> { [ 3, định kỳ, ký hiệu số, sterling ] };
    khóa <AE04> { [ 4, đô la, asciitilde, đô la ] };
    phím <AE06> { [ 6, dấu và, không dấu, năm phần tám ] };
    key <AE11> { [dấu nháy đơn, câu hỏi, dấu gạch chéo ngược, câu hỏi xuống] };
    phím <AE12> { [chấm than, đặt câu hỏi, dead_tilde, asciitilde] };

    key <AD11> { [dead_grave, dead_circumflex, ngoặcleft, dead_abovering ] };
    khóa <AD12> { [ dấu cộng, dấu hoa thị, dấu ngoặc vuông, dead_macron ] };


    phím <AC01> { [ a, A, aring, Aring ] };
    phím <AD03> { [ e, E, ae, AE ] };
    khóa <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
    phím <AC11> { [dead_acute, dead_diaeresis, niềng răng trái, niềng răng trái] };
    phím <TLDE> { [ nam tính, ordfeminine, dấu gạch chéo ngược, dấu gạch chéo ngược ] };

    khóa <BKSL> { [ ccedilla, Ccedilla, cú đúp, dead_breve ] };

    bao gồm "cấp 3 (ralt_switch)"
};

một phần alphanumeric_keys
xkb_symbols "winkeys" {

    bao gồm "es (cơ bản)"
    name[Group1]="Spanish (Win keys)";
    bao gồm "eurosign(5)"
};

một phần alphanumeric_keys
xkb_symbols "Sundeadkey" {

    bao gồm "es (cơ bản)"

    phím <AC11> { [dead_acute, dead_diaeresis, niềng răng trái, niềng răng trái] };
    key <AD11> { [dead_grave, dead_circumflex, ngoặcleft, dead_abovering ] };
};

một phần alphanumeric_keys
xkb_symbols "sundeadkey" {

    bao gồm "es (Sundeadkeys)"

    name[Group1]="Spanish (with Sun dead keys)";
};

một phần alphanumeric_keys
xkb_symbols "nodeadkeys" {

    bao gồm "es (cơ bản)"

    name[Group1]="Tiếng Tây Ban Nha (không có phím chết)";

    key <AD11> { [ Grave, asciicircum, ngoặc trái, độ ] };
    phím <AD12> { [ dấu cộng, dấu hoa thị, dấu ngoặc vuông, macron ] };
    phím <AD03> { [ e, E, ae, AE ] };
    khóa <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
    khóa <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
    phím <AC11> { [ cấp tính, diaeresis, niềng răng trái, niềng răng trái ] };
    phím <BKSL> { [ ccedilla, Ccedilla, cú đúp, breve ] };
    phím <AB10> { [ dấu trừ, dấu gạch dưới, dead_belowdot, abovedot ] };
};

// Ánh xạ tiếng Tây Ban Nha (lưu ý trao đổi R-H)
một phần alphanumeric_keys
xkb_symbols "dvorak" {

    name[Group1]="Tiếng Tây Ban Nha (Dvorak)";

    key <TLDE> {[ nam tính, ordfeminine, dấu gạch chéo ngược, độ ]};
    phím <AE01> {[ 1, chấm than, thanh, một cấp trên ]};
    khóa <AE02> {[ 2, quotebl, at, twosuperior ]};
    phím <AE03> {[ 3, định kỳ, dấu số, ba cấp trên]};
    khóa <AE04> {[ 4, đô la, asciitilde, một phần tư ]};
    khóa <AE05> {[ 5, phần trăm, EuroSign, phần năm ]};
    phím <AE06> {[ 6, dấu và, không dấu, ba phần tư ]};
    phím <AE07> {[ 7, dấu gạch chéo, một nửa, phần bảy ]};
    phím <AE08> {[ 8, dấu ngoặc trái, một phần tám, ba phần tám ]};
    khóa <AE09> {[ 9, dấu ngoặc đơn, asciicircum ]};
    key <AE10> {[ 0, bằng, mộ, dead_doubleacute ]};
    khóa <AE11> {[ dấu nháy đơn, câu hỏi, dead_macron, dead_ogonek ]};
    khóa <AE12> {[ chấm than, đặt câu hỏi, dead_breve, dead_abovedot ]};

    key <AD01> {[dấu chấm,dấu hai chấm,ít hơn,guillemotleft ]};
    phím <AD02> {[ dấu phẩy, dấu chấm phẩy, dấu lớn hơn, dấu gạch chéo ]};
    phím <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
    phím <AD04> {[ p, P, đoạn ]};
    key <AD05> {[ y, Y, yen ]};
    phím <AD06> {[ f, F, tslash, Tslash ]};
    phím <AD07> {[ g, G, dstroke, Dstroke ]};
    khóa <AD08> {[ c, C, xu, bản quyền ]};
    phím <AD09> {[ h, H, hstroke, Hstroke ]};
    phím <AD10> {[ l, L, sterling ]};
    khóa <AD11> {[ dead_grave, dead_circumflex, ngoặcleft, dead_caron ]};
    khóa <AD12> {[ dấu cộng, dấu hoa thị, dấu ngoặc vuông, dấu cộng ]};

    phím <AC01> {[ a, A, aring, Aring ]};
    phím <AC02> {[ o, O, oslash, Oslash ]};
    phím <AC04> {[ u, U, aring, Aring ]};
    phím <AC05> {[ i, I, oe, OE ]};
    khóa <AC06> {[ d, D, eth, ETH ]};
    khóa <AC07> {[ r, R, đã đăng ký, nhãn hiệu ]};
    key <AC08> {[ t, T, gai, gai ]};
    phím <AC09> {[ n, N, eng, ENG ]};
    khóa <AC10> {[ s, S, ssharp, phần ]};
    phím <AC11> {[ dead_acute, dead_diaeresis, cú đúp, dead_tilde ]};
    khóa <BKSL> {[ ccedilla, Ccedilla, cú đúp, dead_cedilla ]};

    khóa <LSGT> {[ nhỏ hơn, lớn hơn, guillemotleft, guillemotright ]};
    phím <AB01> {[ dấu trừ, dấu gạch dưới, dấu gạch nối, macron ]};
    khóa <AB02> {[ q, Q, tiền tệ ]};
    phím <AB03> {[ j, J ]};
    phím <AB04> {[ k, K, kra ]};
    phím <AB05> {[ x, X, nhân, chia ]};
    phím <AB06> {[ b, B ]};
    phím <AB07> {[ m, M, mu ]};
    phím <AB08> {[ w, W ]};
    phím <AB09> {[ v, V ]};
    phím <AB10> {[ z, Z ]};

    bao gồm "cấp 3 (ralt_switch)"
};

một phần alphanumeric_keys
xkb_symbols "mèo" {

    bao gồm "es (cơ bản)"

    name[Group1]="Catalan (Tây Ban Nha, với chữ L ở giữa)";

    khóa <AC09> { [ l, L, 0x1000140, 0x100013F ] };
};

một phần alphanumeric_keys
xkb_symbols "ast" {

    bao gồm "es (cơ bản)"

    name[Group1]="Asturian (Tây Ban Nha, có H ở dưới cùng và L ở dưới cùng)";

    phím <AC06> { [ h, H, 0x1001E25, 0x1001E24 ] };
    phím <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] };
};

// Copy từ macintosh_vndr/es
một phần alphanumeric_keys
xkb_symbols "mac" {
    bao gồm "es"
    name[Group1]= "Tiếng Tây Ban Nha (Macintosh)";
};

một phần alphanumeric_keys
xkb_symbols "olpc" {

    // http://wiki.laptop.org/go/OLPC_Spanish_Keyboard

    bao gồm "chúng tôi (cơ bản)"
    tên[Nhóm1]="tiếng Tây Ban Nha";

    key <AE00> { [nam tính, thứ tự nữ tính] };
    phím <AE01> { [ 1, chấm than, thanh ] };
    key <AE02> { [ 2, quotebl, at ] };
    key <AE03> { [ 3, dead_grave, numbersign, Grave ] };
    khóa <AE05> { [ 5, phần trăm, EuroSign, dead_circumflex ] };
    phím <AE06> { [ 6, dấu và, không dấu ] };
    phím <AE07> { [ 7, dấu gạch chéo, dấu gạch chéo ngược ] };
    khóa <AE08> { [ 8, dấu ngoặc trái ] };
    phím <AE09> { [ 9, dấu ngoặc đơn ] };
    khóa <AE10> { [ 0, bằng ] };
    khóa <AE11> { [ dấu nháy đơn, câu hỏi ] };
    phím <AE12> { [chấm than, đặt câu hỏi] };

    phím <AD03> { [ e, E, ae, AE ] };
    key <AD11> { [ dead_acute, dead_diaeresis,acute, dead_abovering ] };
    khóa <AD12> { [ ngoặc vuông, ngoặc trái ] };

    phím <AC01> { [ a, A, aring, Aring ]};
    khóa <AC10> { [ dấu ngã, dấu ngã ] };
    khóa <AC11> { [ dấu cộng, dấu hoa thị, dấu_dấu_dấu ] };
    phím <AC12> { [ dấu ngoặc vuông, dấu ngoặc vuông, phần ] };

    phím <AB08> { [ dấu phẩy, dấu chấm phẩy ] };
    phím <AB09> { [ dấu chấm, dấu hai chấm ] };
    phím <AB10> { [ dấu trừ, gạch dưới ] };

    khóa <I219> { [ nhỏ hơn, lớn hơn, ISO_Next_Group ] };

    bao gồm "cấp 3 (ralt_switch)"
};

một phần alphanumeric_keys
xkb_symbols "olpcm" {

    // Bố cục bàn phím tiếng Tây Ban Nha OLPC cơ học (không màng).
    // Xem: http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard

    bao gồm "chúng tôi (cơ bản)"
    tên[Nhóm1]="tiếng Tây Ban Nha";

    phím <AE00> { [câu hỏi xuống, dấu chấm than, dấu gạch chéo ngược] };
    phím <AE01> { [ 1, chấm than, thanh ] };
    key <AE02> { [ 2, quotebl, at ] };
    key <AE03> { [ 3, dead_grave, numbersign, Grave ] };
    khóa <AE04> { [ 4, đô la, asciitilde, dead_tilde ] };
    khóa <AE05> { [ 5, phần trăm, EuroSign, dead_circumflex ] };
    phím <AE06> { [ 6, dấu và, không dấu ] };
    phím <AE07> { [ 7, dấu gạch chéo, dấu gạch chéo ngược ] }; // không có nhãn '\' trên olpcm, để tương thích
    phím <AE08> { [ 8, dấu ngoặc trái, giống đực ] };
    phím <AE09> { [ 9, parenright, ordfeminine ] };
    khóa <AE10> { [ 0, bằng ] };
    khóa <AE11> { [ dấu nháy đơn, câu hỏi ] };

    phím <AD03> { [ e, E, ae, AE ] };
    khóa <AD11> { [ dead_acute , dead_diaeresis , dead_abovering ] };
    khóa <AD12> { [ dấu cộng, dấu hoa thị ] };

    phím <AC01> { [ a, A, aring, Aring ]};
    khóa <AC10> { [ dấu ngã, dấu ngã ] };
    khóa <AC10> { [ dấu ngã, dấu ngã ] };
    // không có AC11 hoặc AC12 trên olpcm

    phím <AB08> { [ dấu phẩy, dấu chấm phẩy ] };
    phím <AB09> { [ dấu chấm, dấu hai chấm ] };
    phím <AB10> { [ dấu trừ, gạch dưới ] };

    phím <AA02> { [ nhỏ hơn, lớn hơn ] };
    phím <AA06> { [ ngoặc vuông, ngoặc nhọn, ccedilla, Ccedilla ] };
    phím <AA07> { [ ngoặc vuông, ngoặc nhọn ] };

    bao gồm "cấp 3 (ralt_switch)"
};

một phần alphanumeric_keys
xkb_symbols "deadtilde" {

    bao gồm "es (cơ bản)"

    name[Group1]="Tiếng Tây Ban Nha (dấu ngã chết)";

    khóa <AE04> { [ 4, đô la, dead_tilde, đô la ] };
};

một phần alphanumeric_keys
xkb_symbols "olpc2" {

    // Biến thể đã sửa đổi của bố cục Quốc tế Hoa Kỳ, dành riêng cho Peru
    // Liên hệ: Sayamindu Dasgupta <[email protected]>

    bao gồm "chúng tôi (olpc)"
    name[Group1]="Tiếng Tây Ban Nha (OLPC2)";

    key <AE03> { [ 3, numbersign, dead_grave, dead_grave] }; // kết hợp mộ
    phím <I236> { [XF86Start] };

    bao gồm "cấp 3 (ralt_switch)"
};

// BỔ SUNG:

một phần alphanumeric_keys
    xkb_symbols "sun_type6" {
    bao gồm "sun_vndr/es(sun_type6)"
};

Đầu ra của setxbkmap -query -verbose:

    $ setxkbmap -print -verbose
Đang cố gắng xây dựng sơ đồ bàn phím bằng các thành phần sau:
mã khóa: evdev + bí danh (qwerty)
các loại: hoàn thành
tương thích: hoàn thành
biểu tượng: pc+es+inet(evdev)+group(win_space_toggle)+eurosign(e)+terminate(ctrl_alt_bksp)
hình học: máy tính (pc105)
xkb_keymap {
    xkb_keycodes { bao gồm "evdev+aliases(qwerty)" };
    xkb_types { bao gồm "hoàn thành"};
    xkb_compat {bao gồm "hoàn thành"};
    xkb_symbols { bao gồm "pc+es+inet(evdev)+group(win_space_toggle)+eurosign(e)+terminate(ctrl_alt_bksp)" };
    xkb_geometry { bao gồm "pc(pc105)" };
};

Tôi có thể thấy rằng xkb áp dụng thay đổi cho eurosign. Tôi cho rằng thay đổi đó được thực hiện sau khi đọc (các) tệp bố cục bàn phím ở trên. Vì vậy, câu hỏi đặt ra là làm thế nào tôi ngăn vĩnh viễn xkb thực hiện thay đổi đó.

Thay đổi không đến từ tệp cấu hình bàn phím:

$ mèo/etc/mặc định/bàn phím 
# FILE CẤU HÌNH BÀN PHÍM

# Tham khảo trang hướng dẫn bàn phím(5).

XKBMODEL="pc105"
XKBLAYOUT="es"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="đoán"

Tôi cũng đã thử sử dụng trình soạn thảo dconf, theo cái này, nhưng nó chỉ hiển thị các tùy chọn ở trên, tức là không có tùy chọn nào. Tôi cũng đã thử:

sudo gsettings set org.gnome.desktop.input-sources xkb-options "['grp:win_space_toggle', 'terminate:ctrl_alt_bksp']"

Không có niềm vui.

Vậy chuyện gì đang xảy ra thế? Giúp đỡ rất nhiều đánh giá cao ...

Lưu ý: Ngôn ngữ là en-us, trong khi bàn phím là es-es.

Andra avatar
lá cờ tr
đầu ra của `setxkbmap -query` trước những thay đổi này là gì?
ElToro1966 avatar
lá cờ br
Đầu ra của truy vấn setxkbmap - được thêm vào ở trên.
ElToro1966 avatar
lá cờ br
Ah. Bây giờ tôi đã hiểu tại sao EuroSign lại ở đó. Các tùy chọn ghi đè lên những gì trong tập tin, phải không? Tuy nhiên, ký hiệu ½ trên AltGr-5 vẫn còn là một bí ẩn.
Andra avatar
lá cờ tr
sửa đổi này có thay đổi gì không? thử `setxkbmap -print -verbose 10`
ElToro1966 avatar
lá cờ br
@Andra, tôi đã làm rõ câu hỏi. Tôi đã thực hiện các thay đổi trực tiếp trong (các) tệp bố cục bàn phím để thực hiện các thay đổi mà tôi muốn. Điều đó đã hoạt động trên bản cài đặt Ubuntu cũ. Bây giờ, tôi thấy rằng xkb thực hiện các thay đổi đối với ký hiệu đồng euro thông qua các tùy chọn. Tôi cho rằng điều đó xảy ra sau khi bố trí bàn phím đã được đọc. Vì vậy, tôi đoán rằng tôi phải ngăn xkb thực hiện thay đổi đó và mọi thứ sẽ hoạt động. Cảm ơn.
vanadium avatar
lá cờ cn
Bạn đã thử tắt tùy chọn bàn phím cho ký hiệu đồng euro tại thiết bị đầu cuối bằng cách sử dụng setxkbmap - có lẽ các tùy chỉnh của bạn sau đó sẽ hoạt động như mong đợi
ElToro1966 avatar
lá cờ br
@vanadium, nó hoạt động! Nếu tôi làm $ sudo setxkbmap -tùy chọn nó loại bỏ tất cả các tùy chọn trước đó và $ sudo setxkbmap -option eurosign:5 Tôi nhận được ký hiệu đồng euro đang hoạt động trên AltGr-5. Tuy nhiên, điều này không liên tục thông qua khởi động lại. Sau khi khởi động lại, tôi nhận được kết quả trong câu trả lời bên dưới. Làm thế nào để tôi làm cho nó vĩnh viễn? Cảm ơn.
vanadium avatar
lá cờ cn
Phải là/etc/default/keyboard, nhưng nó cũng có thể bị Xorg ghi đè (giống như Gnome ghi đè nó cho người dùng hiện tại)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.