xmodmap
유용한 다국어 발음 구별 부호, 영어 인용부호, 대시 등이 포함된 사용자 정의 파일을 사용하고 있습니다 . 이 맵을 사용하고 싶으므로 여기에서 구성을 만들어야 kmscon
합니다 . xkb
이를 수행하는 자동화된 방법이 있습니까? 아니면 이 작업을 자주 수행할 필요가 없기 때문에 간단한 수동 프로세스를 수행해야 합니까?
답변1
자신만의 xkb 구성 파일 만들기
아이디어는 현재 키보드 구성을 (호출하지 않고 xmodmap
) "읽고" 이를 기반으로 자신만의 기호 파일을 작성하는 것입니다. 첫 번째:
xkbcomp -xkb $DISPLAY
server-0_0.xkb
이 파일에서 다음 블록을 생성 합니다.
xkb_symbols "pc+inet(evdev)+compose(menu)+whatever(option)" {
key <ESC> { [ Escape ] };
...
};
첫 번째 줄을 다음으로 변경합니다.
default xkb_symbols "my_symbols" {
include "pc+inet(evdev)"
include "compose(menu)+whatever(option)"
(내 생각에는 옵션을 "포함" 줄 수에 관계없이 분할할 수 있다고 생각합니다). 수정하려는 키를 변경하고 앞에 다음을 추가합니다 override
.
override key <AE10> { [ 0, parenright, degree ]};
변경되지 않은 키를 모두 제거합니다.
시스템 전체 설치
모두 넣으세요 /usr/share/X11/xkb/symbols/my_terrific_kb
. 이제 사용자는 setxkbmap my_terrific_kb
(in .xinitrc
또는 .xsessionrc
)을 사용하여 로드할 수 있습니다. 어쩌면 Option "XkbLayout" "my_terrific_kb"
시스템 xorg.conf
전체를 변경할 수도 있습니다.
단일 사용자 설치
모두 넣으세요 ~/anywhere/my_terrific_kb
. XInput ID를 사용하여 키보드를 찾으세요 xinput list
. 그런 다음 xkbcomp -i <XInput_id> ~/anywhere/my_terrific_kb $DISPLAY
.
답변2
생성된 매핑 파일은 xkbcomp :0 custom-xkb-keymap
간단히 매개변수를 교환하여 로드할 수 있는 여러 구성 요소로 구성됩니다 xkbcomp custom-xkb-keymap :0
. 여기에 몇 가지 경고가 표시되지만 파일의 레이아웃을 변경하면 작동하는 것 같습니다.
xkb 레이아웃은 symbols
예를 들어 디렉토리 에 저장됩니다 /usr/local/share/X11/xkb/symbols
. 경로는 시스템마다 다를 수 있습니다. 레이아웃이 필요한 경우 다음과 같은 섹션을 잘라내야 합니다.
xkb_symbols "id+id+id(pc104)" {
name[group1]="..."
.
.
.
};
symbols
그리고 디렉토리 에 저장합니다 . 거기에 어떤 파일도 덮어쓰지 않도록 하세요! 해당 위치에 저장되면(예: 로 mylayout
) 를 입력하여 로드할 수 있습니다 setxkbmap mylayout
. 이는 섹션의 설정에 해당합니다 xorg.conf
(참조:Option "XkbLayout" "mylayout"
InputDevice
kbd 매뉴얼 페이지상세 사항은).
출력의 다른 부분은 xkcomp
다른 디렉토리의 파일과 일치하는 것으로 보입니다. 따라서 작동하지 않는 경우 custom-xkb-keymap
해당 구성 요소를 구성 요소로 분할하여 아래의 올바른 디렉토리에 복사 해야 할 수도 있습니다 /usr/local/share/X11/xkb
. 하지만 이건 내가 한 번도 해본 적이 없는 일이다.
더 나은 레이아웃
디컴파일된 코드처럼 보이는 원시 덤프를 사용하는 대신 symbols
더 읽기 쉬운 자신만의 파일을 만들 수도 있습니다. 나는 대부분의 사람들에게는 작동하지 않을 수 있는 나만의 사용자 정의 레이아웃을 가지고 있지만 이 짧은 파일을 계속 살펴볼 수 있습니다.나는 독일어 키보드로 프로그래밍하는 데 사용합니다.(파일의 모양과 symbols
파일로 무엇을 할 수 있는지에 대한 아이디어를 얻으려면).
답변3
방금 이 문제를 해결했습니다. xmodmap
구성을 적용한 후 do를 사용하여 현재 키맵(display에서 )을 이름이 지정된 파일에 xkbcomp :0 custom-xkb-keymap
복사합니다 .xkb
:0
custom-xkb-keymap
답변4
이 스레드에도 비슷한 질문이 있습니다.Xepyr: 키맵이 제대로 작동하지 않습니다. 제공된 솔루션과 유사하게 키보드 설정을 저장할 수 있습니다
setxkbmap -display :0 -print > mykeymap
이 파일은 xkbcomp를 통해 다른 시스템에 적용할 수 있습니다.
xkbcomp mykeymap :0
이 명령은 gnome 또는 다른 DE의 자동 시작에서 실행될 수 있습니다. 모든 수동 변경 사항이 인계될지는 모르겠지만 시도해 볼 가치가 있다고 생각합니다. xkbcomp를 사용하지 않고 자동 로드하려면 이 파일을 어디에 두어야 할지 모르겠습니다.