조건부로 키보드의 키 교환(Debian, X11, KDE Plasma)

조건부로 키보드의 키 교환(Debian, X11, KDE Plasma)

Dell Latitude에 이 키보드 레이아웃이 있습니다.

키보드 레이아웃

Home복합 키에 대한 키 매핑 이 End정말 귀찮습니다 Fn. 그래서 이것을 추가하여 PageUpHome를 교체할 수 있었습니다 PageDown(실제로 이것은 독일 변형입니다).End/usr/share/X11/xkb/symbols/de

xkb_symbols "basic" {
  ...
  key <HOME> {    [  Prior        ]   };
  key <PGUP> {    [  Home         ]   };
  key  <END> {    [  Next         ]   };
  key <PGDN> {    [  End          ]   };
  ...
}

예상대로 작동합니다. 그러나 저는 도킹 스테이션과 풀 키보드를 사용하여 노트북과 책상 사이를 자주 전환하는데, 이 해킹은 짜증스럽습니다.

이 xkb 기호 파일을 조작하려면 다시 시작(또는 최소한 데스크탑 환경을 다시 시작해야 함)이 필요합니다. 런타임에 동작을 전환할 수 있나요? USB-C 도크를 보는 udev 후크처럼 자동화될 수도 있나요?

답변1

를 사용하여 레이아웃 간에 전환할 수 있습니다 setxkbmap. 예를 들어 저는 Dvorak 레이아웃을 사용하고 변경 사항을 로컬에 적용 /usr/share/X11/xkb/symbols/de하고 독일어 레이아웃으로 전환했습니다.

setxkbmap de

PGUP가 홈으로 작동하는지 확인했는데 작동합니다. 그런 다음 Dvořák로 다시 전환했습니다.

setxkbmap dvorak

원본 레이아웃과 사용자 정의 레이아웃 사이를 전환하려면 원본 레이아웃 파일에서 질문에 표시된 4줄을 삭제 de하고 /usr/share /X11/ xkb/와 같은 새 사용자 정의 레이아웃 파일을 만드는 것이 가장 좋은 방법이라고 생각합니다. 기호/수정 해제 수정 사항이 추가되었습니다. 두 레이아웃 사이를 전환하는 데에는 다시 시작할 필요가 없으며 X를 다시 시작할 필요도 없습니다.

setxkbmap de # PGUP wouldn't work as home
setxkbmap de-modified # PGUP would work as home

관련 정보