Sway는 Wayland를 사용하므로 XKB 파일은 X가 아닌 Sway에 의해 구문 분석됩니다.
- 키보드에 레이어를 추가하고 싶습니다(아마도 Hyper를 사용하여)
- 일부 수정자 키를 무작위로 조정하고 싶습니다.
많은 사이트를 살펴봤지만 아직 구현 방법을 모르겠습니다. XKB에는 많은 부분이 있는데 어떤 부분이 어디로 가는지 모르겠습니다. 샘플 파일(들)과 설명을 받고 싶습니다.
답변1
xkb 구성 파일의 이름이 custom-xkb이고 ~/.config
sway 구성 파일에 저장되어 있다고 가정합니다.
input "type:keyboard" { # or input <identifier>
xkb_file ~/.config/xkb/custom-xkb
}
아마도 이 부분은 이미 알고 있을 것입니다. 어려운 부분은 파일을 생성하는 것입니다 custom-xkb
. 저는 전문가는 아니지만 제가 하는 일은 다음과 같습니다.
- 웹에서 "xkb 사양"을 검색하면 Wikipedia에서
x.org
전체 사양에 이르기까지 모든 내용이 표시됩니다. 이미 유사한 리소스를 수집했을 수도 있습니다. - 그런 다음 내 시스템의 기본 키보드 프로필을 아마도 어딘가에서 찾을 것입니다
\etc\X11\xdg\
(둘러보아야 할 수도 있습니다: 내 이상한 배포판에서 경로는 입니다/nix/store/n1mlvwrkdlm77b4ai9s26kwji89jjb65-xkeyboard-config-2.27/share/X11/xkb/
). symbols
해당 경로 내에서 두 개의 하위 디렉터리인 및 를 찾습니다types
. 첫 번째는 다양한 언어에 대한 모든 키맵이 있는 위치와 해당 언어에 대한 키맵 변형이 각 파일에 있는 위치입니다. 두 번째 하위 디렉터리는 가상 키가 정의되는 곳입니다(예: Mod1, Control 등).- 그런 다음 해당 파일의 내용을 내 파일에 복사
~/.config/xkb/custom-xkb
하고 다른 편집을 시도하여 어떤 일이 일어나는지 확인합니다. 그리고 궁금증을 해소하기 위해 제가 모은 인터넷 자료를 활용해 보았습니다. 치명적인 일이 발생하면 Control+Alt+F1을 누른 다음 nox 로그인을 수행하고 해당 줄에 주석을 달고xkb_file ~/.config/xkb/custom-xkb
X 서버를 다시 시작합니다. - 나는 하위 디렉토리 및 의 내용을 조작하지 않을 것 입니다
rules
. 하지만 이것들도 살펴볼 필요가 있습니다.geometry
keycodes
실제로 아무것도 하지 않았지만 어쩌면 효과가 있을 수도 있습니다. 실제 구성 파일을 살펴보면 튜토리얼과 가이드에서 실제로 말하는 내용을 파악하는 데 도움이 된다고 생각합니다.
행운을 빌어요
답변2
XKB는 실제로 매우 복잡한 짐승입니다. (적어도 내 경험상으로는 이상한 디자인 결정이 있는 것 같습니다. 이는 첫 번째 버전이 1996년에 출시되었다는 사실에 기인하며 내 의견으로는 문서에 가장 잘 기록되지 않았습니다.)
다양한 구성을 시도함으로써 나는 내가 원하는 콘텐츠를 표현할 수 있을 만큼 충분히 유연하면서도 안정적으로 추측하고 레이아웃을 쉽게 생성할 수 있는 기능의 하위 집합을 이해하고 식별할 수 있었습니다.
내가 배운 내용에 대한 포괄적인 튜토리얼을 작성하려면 꽤 시간이 걸릴 수 있지만, 기본 레이아웃을 읽는 것보다 구성 파일을 보는 것이 더 쉬울 것입니다.
https://github.com/Isti115/dotfiles/tree/master/.config/xkb
(내 Sway 구성에 포함되어 있습니다.여기.)
Lenovo-L13.xkb
특히 노트북용으로 만든 파일은 여러 레이어가 있기 때문에 추천합니다 . (심지어 스페이스바를 누른 상태에서 수정자로 바꿨습니다.)ev이중 바인딩.) Vortex Core 레이아웃도 좋은 레이아웃이지만 키보드 자체도 프로그래밍 가능하기 때문에 그게 전부는 아닙니다.
이전 답변에서 이미 언급했듯이 필요한 것을 여기에서 찾을 수 없는 경우 가장 먼저 살펴볼 곳은 내장 파일입니다. 키보드가 무엇을 사용하고 있는지 알아보는 데 사용할 수 있습니다 setxkbmap -print
. 그 시점부터 파일이 있는 곳 어디에서나 가져온 정의를 찾을 수 있습니다 xkb
. (NixOS를 사용하지 않는 한 /usr/share/X11/xkb
Arch와 같이 합리적인 수준일 것입니다.)