xmodmap
내 노트북에서는 일부 키 바인딩과 키보드 기본 설정을 사용하고 조정합니다
xset
. 외부 USB 키보드를 연결하면 새 키보드의 구성이 기본값으로 설정됩니다(즉, 조정하지 않음). xmodmap
이 작업을 다시 수행 하면 xset
이러한 기본 설정이 새로 연결된 키보드에도 적용되지만 연결/분리 시 기본값으로 다시 재설정됩니다. 플러그를 꽂거나 빼도 노트북 키보드의 구성에는 영향을 미치지 않으며 프로세스 전반에 걸쳐 키보드가 조정된 상태로 유지됩니다.
질문:내가 어떻게 가질 수 있니?하나모든 키보드(현재 및 미래)에서 작동하는 xmodmap 및 xset 기본 설정 세트입니다.
구성: 3.1.1 커널 기반 Arch Linux, Xorg 1.11.2, 홈브루 구성 없음, 창 관리자: 멋진 3.4.11, kde 또는 gnome 항목 없음
감사해요!
답변1
@Patkos Csaba: 변경되었습니다. 이제 기본값은 아무것도 구성할 필요가 없으며 자동으로 작동한다는 것입니다. 어떤 면에서는 .xinitrc에 setxkbmap을 추가하는 것이 서버 구성을 변경하는 것보다 쉽습니다.
이제 USB 키보드나 마우스를 연결하면 /dev/mice 또는 이와 유사한 명령을 사용하지 않고도 X11에서 이를 추가하고 인식할 수 있습니다.
이제 이 문제가 발생했으므로 IMHO의 완벽한 해결책은 Xorg에게 현재 연결된 키보드에서 새 키보드 설정을 상속하도록 지시하거나 setxkbmap에 옵션을 현재 서버 기본값으로 설정하도록 지시하는 것입니다.그리고미래의 키보드.
지금까지 나는 이것을 할 수 있는 어떤 방법도 찾지 못했습니다. setxkbmap/xmodmap을 다시 실행하지 않는 유일한 방법은 새 장치를 구성할 때 hald에서 사용되는 기본 설정을 편집하는 것입니다.freebsd 문서, §6.4.2(섹션 제목 아래의 일부 단락에는 키보드 기본값 설정에 대한 두 가지 예가 있습니다). "옵션 2"도 참조하세요.Klaas Teschauer의 hal 마이그레이션 튜토리얼. 게다가하드웨어 추가 시 스크립트 트리거에 대한 링크가 포함된 Stackoverflow에 대한 질문, 원한다면 그렇게 하세요.
답변2
저는 .xorg에서 생성된 Xorg 구성 파일을 사용하여 이 문제를 해결했습니다 localectl
. 나는 dvorak/qwerty 레이아웃을 사용하고 Caps Lock 키를 추가 제어 키로 사용합니다. 나는 이것을 .xinitrc에 가지고 있었습니다:
setxkbmap -layout us,us -variant dvorak, \
-option 'grp:alt_space_toggle' \
-option 'grp_led:caps' \
-option 'ctrl:nocaps'
Xorg 구성 파일에서 동등한 설정을 얻으려면 다음을 사용했습니다.
sudo localectl set-x11-keymap us,us "" dvorak, 'grp:alt_space_toggle,grp_led:caps,ctrl:nocaps'
이는 파일에 저장됩니다 /etc/X11/xorg.conf.d/00-keyboard.conf
.
편의를 위해 X 구성 파일을 수동으로 편집하는 대신 localectl 도구를 사용할 수 있습니다. /etc/X11/xorg.conf.d/00-keyboard.conf에 구성이 저장됩니다. localectl이 다음에 시작될 때 변경 사항을 덮어쓰므로 수동으로 편집하면 안 됩니다.
사용법은 다음과 같습니다:
$ localectl set-x11-keymap layout [model] [variant] [options]
답변3
나는 그것을 사용해 본 적이 없지만 "usbd"가 당신이 찾고 있는 것 같습니다. 문서에 따르면 USB 포트를 모니터링하고 특정 변경 사항에 대해 사용자 명령을 실행합니다.
여기있어매뉴얼 페이지.