cách liên kết AltGr với <Ctrl> + <Alt>


11

Tôi đang cố gắng tạo ra một bản linux tương đương với bố cục Bàn phím tiếng Nhật được gọi là Sarala (Hard la). Tôi đã có thể lập bản đồ tất cả các phím cho đến nay. Bố cục sử dụng các tổ hợp phím sau cho các cấp độ khác nhau.

None (Base): Level1
Shift: Level2
Ctrl + Alt: Level3
Ctrl + Alt + Shift:Level4

Trong khi linux sử dụng như sau cho các cấp độ khác nhau.

None (Base): Level1
Shift: Level2
RAlt: Level3
RAlt + Shift:Level4

Để có thể khớp các tổ hợp phím với bố cục của tôi, tôi sẽ phải ánh xạ AltGrvới dấu Ctrl+ Alt. Tôi đã tìm kiếm không thành công mặc dù các tập tin khác nhau trong /usr/share/X11/xkb/. Có ai biết làm thế nào tôi có thể liên kết ISO_Level3_Shiftvới Ctrl+ Alt?

key <RALT>  {
    symbols[Group1]= [ Mode_switch, Multi_key  ],
    virtualMods= AltGr
};

Nếu bạn muốn nhìn vào bố cục, nó ở đây


2
có một cái nhìn tại đây Askubfox.com/questions/254424/ khăn
αғsнι

2
Thankyou, đó là rất nhiều thông tin nhưng nó nói về tất cả mọi thứ khác ngoại trừ xkbcấu hình.
ShaggyInjun

Bạn có thể xem qua wiki này từ wiki linux arch, và kiểm tra phần về Alt và Altgr (Cấp độ 3). Tôi không chắc điều này có giúp gì cho bạn không, nhưng dường như có rất nhiều thông tin về XKB
Không có thời gian

Tôi đã thử điều đó, xkb không tải được với một lỗi không mô tả. Tôi không có lỗi tiện dụng, nhưng tôi có thể đính kèm sau.
ShaggyInjun

Câu trả lời:


6

Bạn cần xác định loại xkb mới. Bạn có thể xem các ví dụ trong thư mục xkb / type của bạn (thường /usr/share/X11/xkb/types). Ở đó bạn có thể định nghĩa các tổ hợp bổ nghĩa tùy ý để có các mức độ dịch chuyển khác nhau. Đối với vấn đề của bạn, bạn có thể sử dụng một cái gì đó như thế này:

type "C_A_to_L3" {
    modifiers = Control+Alt+Shift;
    map[None] = Level1;
    map[Shift] = Level2;
    map[Control+Alt] = Level3;
    map[Control+Alt+Shift] = Level4;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
};

Sau đó, trong tệp ký hiệu của bạn, bạn có thể đặt loại đó làm mặc định hoặc đặt trên cơ sở mỗi khóa là loại nào. Lưu ý rằng bạn cần loại trong tệp trong thư mục loại và định nghĩa khóa trong tệp trong thư mục ký hiệu - xkb sử dụng phân cấp hệ thống tệp nghiêm ngặt để tìm từng thành phần.

Tôi đã tự mình thực hiện một số cách hack trên các bố cục bàn phím để xây dựng bố cục tùy chỉnh của mình ( https://github.com/willghatch/hatchak ), trải qua nhiều lần lặp khác nhau khi tôi đã thử nghiệm những điều kỳ lạ. XKB đôi khi có thể khá khó tính và kỳ lạ, nhưng nó vẫn là hệ thống bàn phím có cấu hình cao nhất mà tôi từng thấy cho đến nay. Các tài liệu tham khảo tốt nhất nếu bạn gặp nhiều rắc rối hơn là:

[chỉnh sửa: các liên kết ban đầu hiện đang ngừng hoạt động, nhưng rất may archive.org tồn tại]

https://web.archive.org/web/20150722164820/http://www.charvolant.org/~doug/xkb/html/index.html

https://web.archive.org/web/20190419170426/http://pascal.tsu.ru/en/xkb/

Coi chừng - trong khi đó là tài liệu tốt nhất mà tôi tìm thấy, nó để lại rất nhiều trường hợp cạnh mờ. Chúc may mắn.


Tôi nghĩ ý tưởng của bạn thực sự hữu ích, nhưng tôi thực sự gặp khó khăn khi sử dụng loại đã tạo trong các tệp biểu tượng theo mặc định như bạn đã đề cập. Các tệp biểu tượng tôi có trên máy tính của mình khá dài và tôi không thấy bất kỳ dòng nào trông giống như một định nghĩa về loại mặc định.
Dave

1
Bạn có thể xác định mặc định cho một phần trong tệp biểu tượng bằng cách cài đặt key.type. Bạn có thể có thể thấy một ví dụ tại /usr/share/X11/xkb/symbols/srvr_ctrl(hoặc một nơi nào đó như thế), trong phần "no_srvr_keys". Đây là những gì tôi có: xkb_symbols "no_srvr_keys" {key.type = "TWO_LEVEL"; khóa <FK01> {[F1, F1]}; khóa <FK02> {[F2, F2]}; <vân vân ...>};
William nở

Cảm ơn vì sớm phản hồi. Tôi nghĩ rằng tôi sẽ có thể áp dụng điều đó. Cảm ơn rất nhiều trước.
Dave

Cũng như một phản hồi cho tất cả những người quay lại trang này ngay cả một thời gian dài sau đó. Đối với tôi phương pháp này hiện đã có hiệu quả với một Fedora mới được cài đặt. Đối với một số (với tôi) không rõ lý do, nó không hoạt động với Mint khi tôi viết nhận xét đó ở trên. Nhưng bây giờ nó hoạt động và tiết kiệm cho tôi rất nhiều thời gian.
Dave

-1

Từ những gì tôi dường như bạn cần một bố cục bàn phím hỗ trợ AltGr, vì vậy bạn chỉ cần thay đổi phím nóng tại "bàn phím> phím tắt> phím ký tự thay thế" trong menu cấu hình. Thông thường bạn có thể thấy nó bằng cách thay đổi thành bố cục "có khóa chết" hoặc được viết "Khóa chết AltGr"


Tôi không yêu cầu sử dụng cá nhân, tôi cần phải bố trí. Thật không may đây là một câu trả lời xấu. Cảm ơn bạn tuy nhiên.
ShaggyInjun
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.