[[SOLVED]Не работает переключение раскладки клавиатуры (evdev глюки)]

Делал по факу

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
    <device>
    <match key="info.capabilities" contains="input.keyboard">
        <merge key="input.x11_driver" type="string">kbd</merge>
        <merge key="input.xkb.model" type="string">pc105</merge>
        <merge key="input.xkb.rules" type="string">xorg</merge>
        <merge key="input.xkb.layout" type="string">us,ru</merge>
        <merge key="input.xkb.variant" type="string">,winkeys</merge>
        <merge key="input.xkb.options" type="string">grp:ctrl_shift_toggle</merge>
    </match>
    </device>
</deviceinfo>

вывод lshal | grep input

  input.device = '/dev/input/event3'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if0'  (string)
  input.product = 'Fujitsu Siemens Computers GmbH FSC KBPC PX'  (string)
  input.x11_driver = 'kbd'  (string)
  input.xkb.layout = 'us,ru'  (string)
  input.xkb.model = 'pc105'  (string)
  input.xkb.options = 'grp:ctrl_shift_toggle'  (string)
  input.xkb.rules = 'xorg'  (string)
  input.xkb.variant = ',winkeys'  (string)
  linux.device_file = '/dev/input/event3'  (string)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = '/sys/class/input/input3/event3'  (string)

В итоге ничего у меня не выходит Лишь через Центр управления кде можно запустить глючную раскладку и то с глюками дикими В хорг конф убрал все что связано с клавой но ничегго не выходит

Кто как справился с проблемой?

Заранее благодарен за помощь извиняюсь за безграмотность писать невозможно

Добавлю....
Клава не реагирует на ctrl+shift в логах Х видно, что он создает клаву по умолчанию

В общем я совсем не пойму почему ничего не работает или работает с глюками

kde-base 3.5 стоит

input.x11_driver = 'kbd'

input.x11_driver = 'kbd' (string)
Evdev?

++ после перезапуска иксв

++
после перезапуска иксв зашляни в лог /var/log/Xorg.0.log
и проверь, действительно ли используется hal для клавиатуры

эм....

input.x11_driver = 'kbd' (string)
Evdev? 

я не совсем понял, что вы имете в виду и в чем вопрос?

(evdev глюки)

Тема: (evdev глюки)
только evdev не видно.

Костыль

Я вышел из положения пока так: загружаю раскладку через setxkbmap, через автостарт:

$ cat /etc/hal/fdi/policy/10-x11-input.fdi

<?xml version="1.0" encoding="utf-8"?>
<deviceinfo version="0.2">
   <match key="info.capabilities" contains="input.keys">
      <merge key="input.xkb.rules" type="string">xorg</merge>
      <merge key="input.xkb.layout" type="string">us,ru(winkeys)</merge>
      <!-- Option "XkbModel" "pc105" -->
      <merge key="input.xkb.model" type="string">evdev</merge>
      <merge key="input.xkb.variant" type="string">winkeys</merge>
      <merge key="input.xkb.options" type="strlist">grp:caps_toggle</merge>
      <append key="input.xkb.options" type="strlist">grp:switch</append>
      <append key="input.xkb.options" type="strlist">grp_led:caps</append>
   </match>

$ grep Exec ~/.config/autostart/xxkb.desktop

Exec=sleep 10 ;  setxkbmap -option 'grp:caps_toggle,grp:switch,grp_led:caps'  ; xxkb

http://paste.org.ru/?ts26xx

p

U menya dvajdu opredelyaetsya klaviatura

setxkbmap -v 10 da
Setting verbose level to 10
locale is C
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Applied rules from xorg:
model:      pc105
layout:     da
Trying to build keymap using the following components:
keycodes:   xfree86+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+da
geometry:   pc(pc105)
Error loading new keyboard description

eto vidno is lshal | grep input

udi = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if1_logicaldev_input'
  info.addons.singleton = {'hald-addon-input'} (string list)
  info.capabilities = {'input', 'input.keys', 'button'} (string list)
  info.category = 'input'  (string)
  info.subsystem = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if1_logicaldev_input'  (string)
  input.device = '/dev/input/event4'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if1'  (string)
  input.product = 'Fujitsu Siemens Computers GmbH FSC KBPC PX'  (string)
  input.x11_driver = 'evdev'  (string)
  input.xkb.layout = 'us,ru'  (string)
  input.xkb.model = 'evdev'  (string)
  input.xkb.options = 'grp:alt_shift_toggle'  (string)
  input.xkb.rules = 'base'  (string)
  input.xkb.variant = ''  (string)
  linux.device_file = '/dev/input/event4'  (string)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = '/sys/class/input/input4/event4'  (string)
udi = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if0_logicaldev_input'
  info.addons.singleton = {'hald-addon-input'} (string list)
  info.capabilities = {'input', 'input.keyboard', 'input.keypad', 'input.keys', 'button'} (string list)
  info.category = 'input'  (string)
  info.subsystem = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if0_logicaldev_input'  (string)
  input.device = '/dev/input/event3'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_bf8_100c_noserial_if0'  (string)
  input.product = 'Fujitsu Siemens Computers GmbH FSC KBPC PX'  (string)
  input.x11_driver = 'evdev'  (string)
  input.xkb.layout = 'us,ru'  (string)
  input.xkb.model = 'evdev'  (string)
  input.xkb.options = 'grp:alt_shift_toggle'  (string)
  input.xkb.rules = 'base'  (string)
  input.xkb.variant = ''  (string)
  linux.device_file = '/dev/input/event3'  (string)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = '/sys/class/input/input3/event3'  (string)

poproboval po etoy stat'e, toje ne vyshlo... seychas vashi sposoby budu probovat'
http://programming-cat.blogspot.com/2008/12/evdev.html

otkuda

otkuda berutsya eti inputy

ls /dev/input/
by-id  by-path  event0  event1  event2  event3  event4  event5  event6  mice  mouse0
pci-0000:00:1d.1-usb-0:1:1.0-event-kbd -> ../event3
pci-0000:00:1d.1-usb-0:1:1.1-event- -> ../event4
pci-0000:00:1d.1-usb-0:2:1.0-event-mouse -> ../event5
pci-0000:00:1d.1-usb-0:2:1.0-mouse -> ../mouse0
platform-pcspkr-event-spkr -> ../event6

udev

.

versii

problema v versiah mojet byt'?
x11-base/xorg-server-1.3.0.0-r6

Mojet sobrat bez flaga evdev?

так 1.3 вроде hal и не

так 1.3 вроде hal и не нужен.
пропишите все в xorg.conf

vse ravno

vse ravno ne hochet...
vidimo vse - taki nujen... kogda ya propisivau v hal pravila, to hotya by dostupny ctrl+alt+Fn... a syechas net

X.log

X.log

(II) XINPUT: Adding extended input device "<default keyboard>" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "<default pointer>" (type: MOUSE)

как заставить Х не

как заставить Х не определять клаву и мышь?
kakoy hal vy ispol'zuete?
u menya hal-0.5.11-r1

hal-0.5.11-r6 xorg-server-1.5

hal-0.5.11-r6
xorg-server-1.5.3-r1

в /etc/X11/xorg.confДобавить

в /etc/X11/xorg.conf

Добавить в раздел Section "ServerLayout"

    Option        "AllowEmptyInput" "false"
    Option        "AutoEnableDevices" "false"
    Option        "AutoAddDevices" "false"

посомтри в cat

посомтри в cat /proc/bus/input/devices
там все твои инпуты.

если используешь hal, то в xorg.conf не должно быть дублирующих секций,
если только xorg.conf, то либо отключай hal, либо пропиши в секции ServerFlags:
Option "AutoAddDevices" "no"

решено

собственно ...

x11-base/xorg-server ~amd64
sys-apps/hal ~amd64
app-misc/hal-info ~amd64
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
        <device>
                <match key="info.capabilities" contains="input.keymap">
                        <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
                </match>
                <match key="info.capabilities" contains="input.keyboard">
                        <merge key="input.xkb.rules" type="string">base</merge>
                        <merge key="input.xkb.layout" type="string">us,ru(winkeys)</merge>
                        <merge key="input.xkb.options" type="string">grp:ctrl_shift_toggle</merge>
<!--                        <append key="input.xkb.options" type="strlist">grp:switch</append>  -->
<!--                        <append key="input.xkb.options" type="strlist">grp_led:scroll</append>  -->
                </match>
        </device>
</deviceinfo>
X -configure

Все заработало, кроме диода scroll_lock, не знаю даже, что было и почему в этой версии такое происзошло, система голая, ставилась с stage3-amd64-2008, версии все стабльные стояли, дома, врое эта же версия стоит, но evdev не использует, а здесь в обязательном порядке флаг выставляет
Всем спасибо за помощь

чтоб диод зажечь...

...я заменил тип у ключа input.xkb.options с strlist на string. И занёс всё в один тэг. Вот так:

<merge key="input.xkb.options" type="string">grp:caps_toggle,grp_led:scroll</merge>

Работает.

чтоб диод зажечь...

Kirikaza написал(а):
...я заменил тип у ключа input.xkb.options с strlist на string. И занёс всё в один тэг. Вот так:

<merge key="input.xkb.options" type="string">grp:caps_toggle,grp_led:scroll</merge>

Работает.

Подтверждаю. Работает. Не работала переключалка из за того, что при загрузке X и трансляции .fdi сливались строки grp:caps_toggle и grp_led:scroll без пробела. В Xorg.0.Log видно что в результате получается "grp:caps_togglegrp_led:scroll". Если их заносить в один тег с запятой - получается нормально - "grp:caps_toggle,grp_led:scroll".

да...

да, забыл отписаться, все работает, если одной строкой вбивать... спасибо

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".