setxkbmap -geometry 옵션을 사용하는 방법은 무엇입니까?

setxkbmap -geometry 옵션을 사용하는 방법은 무엇입니까?

내 Debian Linux(/etc/debian_version == 7.8) 상자에 Sun Type7 키보드가 있는데 Sun type6과 많이 비슷해 보여서 시도해 보았습니다.

$ (setxkbmap -model sun6 -layout us -geometry 'sun(type6)' -v 10 ; setxkbmap -print) |sed 's/^/    /'
Setting verbose level to 10
locale is C
Warning! Multiple definitions of keyboard model
         Using command line, ignoring X server
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Trying to load rules file ./rules/evdev...
Success.
Warning! Multiple definitions of geometry
         Using command line, ignoring rules file
Applied rules from evdev:
rules:      evdev
model:      sun6
layout:     us
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+sun_vndr/us(type6)+inet(evdev)
geometry:   sun(type6)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+sun_vndr/us(type6)+inet(evdev)" };
    xkb_geometry  { include "pc(pc104)" };
};

출력의 첫 번째 비트는 기하학을 "sun:type6"으로 설정하려는 것처럼 보이지만 보고된 xkb_geometry는 "pc(pc104)"로 끝납니다.

내 /usr/share/X11/xkp/geometry/sun 파일에 type6 기하학이 정의되어 있는 것으로 보이지만 후속 "setxkbmap -print"는 내가 시도한 "-geometry xxxx" 옵션에 둔감한 것 같습니다(여기서 xxxx는 pc101, pc104).

다음과 같이 "setxkbmap -geometry" 옵션을 구성하는 방법:

xkbprint :0 -  |ps2pdf - > sun6.pdf # try to make use of the xkb_geometry

...Sun Model 6 키보드 사진이 보이나요?

sun:type6을 sun(type6)으로 변경한 편집: 옵션 형식은 /usr/share/X11/xkb/에서 "file(entry)"인 것 같습니다.옵션 이름/ 목차.

답변1

위의 don_crissti의 의견을 바탕으로 /usr/share/X11/xkb/rules/evdev를 편집하여 !model = geometry해당 섹션에 다음 줄을 포함시켰습니다.

!model        =       geometry
...
sun6          =       sun(type6)
sun5          =       sun(type5)
sun4          =       sun(type4)

이것http://anti.teamidiot.de/nei/2010/06/sun_unix_keyboard_linux_gnome/또한 이러한 파일의 목적을 이해하는 데 유용한 리소스입니다.

현재 설정은 다음과 같습니다. 각 xkb_(WHAT) 행은 해당 /usr/share/X11/xkb/(WHAT) 디렉토리의 RHS에 있는 파일을 찾아 해석할 수 있습니다.

$ setxkbmap -print
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+sun_vndr/us(type6)+inet(evdev)+ctrl(nocaps)"    };
    xkb_geometry  { include "sun(type6)"    };
};
$ 

다음 명령은 xkb/geometry를 /usr/share/X11/xkb/geometry/sun 파일에서 "type6"으로 정의된 항목으로 설정합니다.

setxkbmap -geometry 'sun(type6)' 

옵션을 설정할 때 -print 옵션을 사용하면 지정된 옵션만 표시되고 최종 구성은 보고되지 않습니다. setxbkmap -print설정 내용을 보기 위한 다른 옵션은 없습니다 .

관련 정보