Як можна використовувати опцію setxkbmap -geometry?


3

Я маю клавіатуру Sun Type7 у своєму вікні Debian Linux (/ etc / debian_version == 7.8), і, оскільки це, здається, дуже схоже на 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 6?

Відредаговано, щоб змінити sun: type6 на sun (type6): Формат параметрів, здається, є "файл (запис)" у каталозі / usr / share / X11 / xkb / option_name /.


1
Ви використовуєте неправильно model. Відповідно визначено /usr/share/X11/xkb/rules/baseлише sun_type6_usb = sun(type6); якщо прокрутити вниз, ви побачите, що всі невизначені моделі відображені на pc104 : * = pc(pc104). Якщо ви хочете використовувати його sun6як модель, вам доведеться її визначити. Інакше просто біжи setxkbmap -rules 'xorg' -model 'sun_type6_usb' -layout us -geometry 'sun(type6)' -v 10. Дайте мені знати, чи працює він для вас (працює чудово, але я не на Debian).
don_crissti

Дякую. Цей конкретний рядок працював над роздрукуванням графіки, але, здавалося, відключити мої клавіші зі стрілками. Тоді я зрозумів, що налаштування 'правил' здається липким, і мені було потрібно щось на кшталт 'setxkbdmap -rules evdev -model sun6 -layout us', щоб повернути їх. Крім того, ваш коментар допоміг мені зрозуміти, що я неправильно інтерпретував файли правил - ! model variant = geometryрядки - це не коментарі, це фактичні вказівки для аналізу, що робить речі набагато зрозумілішими.
Дейв X

1
Нема проблем. Ось кілька пов’язаних речей, які можуть бути корисними.
don_crissti

Відповіді:


1

Відповідно до вищевказаних коментарів don_crissti, я врешті редагував мій / usr / share / X11 / xkb / правила / 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_ (ЩО) можна інтерпретувати, заглянувши у відповідний каталог / usr / share / X11 / xkb / (ЩО) для файлів на 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 для запису, визначеного як "type6" у файлі / usr / share / X11 / xkb / geometry / sun:

setxkbmap -geometry 'sun(type6)' 

Якщо ви використовуєте параметр -print під час встановлення параметрів, він просто перегукується з наведеними параметрами та не повідомляє про конфігурацію результату. Є setxbkmap -printбез інших варіантів , щоб побачити , що встановлений.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.