31

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Заставили напрягать мозги.

32

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Да, он многим нравится.

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Недавно начал пользоваться ubuntu и не могу установить lolo switcher. Помогите, пожалуйста.

34

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Подскажите, а в консоли его можно заставить работать? И если можно, то как это сделать. Devuan Ascii (на базе Debian Stretch)

35

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

chadwick пишет:

Подскажите, а в консоли его можно заставить работать? И если можно, то как это сделать. Devuan Ascii (на базе Debian Stretch)

Это переключатель для X-систем. То есть в чистой консоли он работать не будет. А в консоли при запущенных иксах работает. Для переключения языков в нем используются вызовы функций из X-библиотек.

36

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

помогите решить проблему

пользуюсь loloswitcher уже больше года, никаких проблем не возникало, система Devuan Ascii (на базе Debian Stretch), сегодня включаю ноутбук - раскладка не переключается, в процессах нет, запускаю руками:

~$ /usr/sbin/loloswitcher
Couldn't open input device , may be permission denied

заменил бинарник на v.0.28, назначил права:

~$ sudo chown root:root /usr/sbin/loloswitcher
~$ sudo chmod u+s /usr/sbin/loloswitcher

не работает

добавил пользователя в группу input:

~$ sudo gpasswd --add ${USER} input

не помогло

устройство в конфиге - /dev/input/event0 - указано верно:

~$ sudo input-events 0
/dev/input/event0
   bustype : BUS_I8042
   vendor  : 0x1
   product : 0x1
   version : 43841
   name    : "AT Translated Set 2 keyboard"
   phys    : "isa0060/serio0/input0"
   bits ev : (null) (null) (null) (null) (null)

loloswitcher запускается только от рута

37

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

chadwick пишет:

помогите решить проблему

пользуюсь loloswitcher уже больше года, никаких проблем не возникало, система Devuan Ascii (на базе Debian Stretch), сегодня включаю ноутбук - раскладка не переключается, в процессах нет, запускаю руками:

~$ /usr/sbin/loloswitcher
Couldn't open input device , may be permission denied

устройство в конфиге - /dev/input/event0 - указано верно:

~$ sudo input-events 0
/dev/input/event0
   bustype : BUS_I8042
   vendor  : 0x1
   product : 0x1
   version : 43841
   name    : "AT Translated Set 2 keyboard"
   phys    : "isa0060/serio0/input0"
   bits ev : (null) (null) (null) (null) (null)

loloswitcher запускается только от рута

На ноутбуке вы скорее всего втыкаете еще какие-нибудь USB-устройства. И из-за этого меняется его номер. Лучше указывать устройство по его идентификатору, примерно так:

InputDevice=/dev/input/by-id/usb-SIGMACH1P_USB_Keykoard-event-kbd

38

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Появились сборки LoLoSwitcher для Puppyrus:

https://mirror.yandex.ru/puppyrus/puppy … 4-kn01.pfs
https://mirror.yandex.ru/puppyrus/puppy … 4-kn01.pfs

https://mirror.yandex.ru/puppyrus/puppy … s-kn01.pfs
https://mirror.yandex.ru/puppyrus/puppy … s-kn01.pfs

Имя пользователя не помню, т.к. случайно удалил его тему в неправильной ветке форума (отзовись, любезный).

39

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Сразу напишу, что проблема решилась.

Loloswitcher перестал запускаться от обычного пользователя после обновления udev (других причин я просто не нахожу). Решилось удалением пакетов на autoremove и перезагрузкой. Из того, что хоть как-то связано с клавиатурой/портами/устройствами, там был только usb-modeswitch. Но до этого ведь всё работало.

xintrea пишет:

На ноутбуке вы скорее всего втыкаете еще какие-нибудь USB-устройства. И из-за этого меняется его номер. Лучше указывать устройство по его идентификатору

Это первое, что я хотел сделать, но его вообще нет (что сейчас, что тогда):

~$ ls -l /dev/input/by-id
total 0
lrwxrwxrwx 1 root root  9 Sep 25 09:31 usb-A4TECH_USB_Device-event-kbd -> ../event5
lrwxrwxrwx 1 root root  9 Sep 25 09:31 usb-A4TECH_USB_Device-if01-event-mouse -> ../event6
lrwxrwxrwx 1 root root  9 Sep 25 09:31 usb-A4TECH_USB_Device-if01-mouse -> ../mouse0
lrwxrwxrwx 1 root root 10 Sep 25 09:31 usb-Lenovo_Corp.._Lenovo_EasyCamera-event-if00 -> ../event13

К ноутбуку постоянно подключен адаптер беспроводной мышки A4TECH, которая определяется у меня как клавиатура. Гугл пишет, что это очень проблемные мышки, которые часто определяются как джойстики, клавиатуры и пр. Я пробовал загружаться без адаптера, но loloswitcher всё равно не запускался. Больше никаких внешних устройств не подключаю.

Логи:

~$ sudo dmesg | grep keyboard
[    4.289567] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0

~$ sudo dmesg | grep A4TECH
[    5.359417] usb 2-2: Manufacturer: A4TECH
[    5.379272] input: A4TECH USB Device as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/0003:09DA:054F.0001/input/input7
[    5.436901] hid-generic 0003:09DA:054F.0001: input,hiddev0,hidraw0: USB HID v1.11 Keyboard [A4TECH USB Device] on usb-0000:00:1d.0-2/input0
[    5.438294] input: A4TECH USB Device as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.1/0003:09DA:054F.0002/input/input8
[    5.438692] hid-generic 0003:09DA:054F.0002: input,hidraw1: USB HID v1.11 Mouse [A4TECH USB Device] on usb-0000:00:1d.0-2/input1

~$ cat /var/log/Xorg.0.log | grep keyboard
[    29.442] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[    29.507] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[    29.633] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[    29.634] (**) Video Bus: Applying InputClass "libinput keyboard catchall"
[    29.635] (II) input device 'Video Bus', /dev/input/event14 is a keyboard
[    29.656] (II) input device 'Video Bus', /dev/input/event14 is a keyboard
[    29.659] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[    29.661] (II) input device 'Power Button', /dev/input/event3 is a keyboard
[    29.688] (II) input device 'Power Button', /dev/input/event3 is a keyboard
[    29.691] (**) Sleep Button: Applying InputClass "libinput keyboard catchall"
[    29.693] (II) input device 'Sleep Button', /dev/input/event1 is a keyboard
[    29.728] (II) input device 'Sleep Button', /dev/input/event1 is a keyboard
[    29.737] (**) A4TECH USB Device: Applying InputClass "libinput keyboard catchall"
[    29.740] (II) input device 'A4TECH USB Device', /dev/input/event5 is a keyboard
[    29.761] (II) input device 'A4TECH USB Device', /dev/input/event5 is a keyboard
[    29.926] (**) Lenovo EasyCamera: Applying InputClass "libinput keyboard catchall"
[    29.928] (II) input device 'Lenovo EasyCamera', /dev/input/event13 is a keyboard
[    29.970] (II) input device 'Lenovo EasyCamera', /dev/input/event13 is a keyboard
[    29.972] (**) Ideapad extra buttons: Applying InputClass "libinput keyboard catchall"
[    29.992] (II) input device 'Ideapad extra buttons', /dev/input/event12 is a keyboard
[    30.010] (II) input device 'Ideapad extra buttons', /dev/input/event12 is a keyboard
[    30.011] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)
[    30.011] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[    30.012] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    30.012] (**) AT Translated Set 2 keyboard: always reports core events
[    30.013] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is tagged by udev as: Keyboard
[    30.013] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is a keyboard
[    30.040] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 14)
[    30.042] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is tagged by udev as: Keyboard
[    30.042] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is a keyboard
[    30.193] (**) A4TECH USB Device: Applying InputClass "libinput keyboard catchall"

~$ cat /var/log/Xorg.0.log | grep A4TECH
[    29.737] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event5)
[    29.737] (**) A4TECH USB Device: Applying InputClass "libinput keyboard catchall"
[    29.737] (II) Using input driver 'libinput' for 'A4TECH USB Device'
[    29.738] (**) A4TECH USB Device: always reports core events
[    29.740] (II) input device 'A4TECH USB Device', /dev/input/event5 is tagged by udev as: Keyboard
[    29.740] (II) input device 'A4TECH USB Device', /dev/input/event5 is a keyboard
[    29.756] (II) libinput: A4TECH USB Device: needs a virtual subdevice
[    29.756] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: MOUSE, id 10)
[    29.758] (**) A4TECH USB Device: (accel) selected scheme none/0
[    29.758] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[    29.758] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[    29.760] (II) input device 'A4TECH USB Device', /dev/input/event5 is tagged by udev as: Keyboard
[    29.761] (II) input device 'A4TECH USB Device', /dev/input/event5 is a keyboard
[    29.763] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event6)
[    29.764] (**) A4TECH USB Device: Applying InputClass "libinput pointer catchall"
[    29.764] (II) Using input driver 'libinput' for 'A4TECH USB Device'
[    29.764] (**) A4TECH USB Device: always reports core events
[    29.825] (II) input device 'A4TECH USB Device', /dev/input/event6 is tagged by udev as: Mouse
[    29.825] (II) input device 'A4TECH USB Device', /dev/input/event6 is a pointer caps
[    29.865] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: MOUSE, id 11)
[    29.866] (**) A4TECH USB Device: (accel) selected scheme none/0
[    29.866] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[    29.866] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[    29.924] (II) input device 'A4TECH USB Device', /dev/input/event6 is tagged by udev as: Mouse
[    29.924] (II) input device 'A4TECH USB Device', /dev/input/event6 is a pointer caps
[    29.925] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/mouse0)
[    30.193] (**) A4TECH USB Device: Applying InputClass "libinput keyboard catchall"
[    30.193] (II) Using input driver 'libinput' for 'A4TECH USB Device'
[    30.193] (**) A4TECH USB Device: always reports core events
[    30.193] (II) libinput: A4TECH USB Device: is a virtual subdevice
[    30.193] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: KEYBOARD, id 16)

Нашел вот такой вариант с правилом для udev:

~$ cat /etc/udev/rules.d/99-remove-a4tech-joystick.rules

SUBSYSTEMS=="usb", ATTRS{bInterfaceProtocol}=="01", ATTRS{bInterfaceNumber}=="00", ENV{ID_VENDOR_ID}=="09da", ENV{ID_MODEL_ID}=="9090", ENV{ID_VENDOR_ENC}=="A4TECH", RUN:="/bin/sh -c '/bin/rm -f $env{DEVNAME}; for i in $env{DEVLINKS}; do /bin/rm -f $i; done'", SYMLINK:="", OPTIONS+="last_rule"

Что тут происходит - при обнаружении устройства по заданным параметрам, удаляется файл этого устройства и все симлинки на него. Опция last_rule говорит, что это правильно должно быть последним.

Подставил свои значения, перезагрузился, но линка на /dev/input/event0 (клавиатура) как не было, так и нет:

~$ ls -l /dev/input/by-id
total 0
lrwxrwxrwx 1 root root  9 Sep 25 13:34 usb-A4TECH_USB_Device-if01-event-mouse -> ../event6
lrwxrwxrwx 1 root root  9 Sep 25 13:34 usb-A4TECH_USB_Device-if01-mouse -> ../mouse0
lrwxrwxrwx 1 root root 10 Sep 25 13:34 usb-Lenovo_Corp.._Lenovo_EasyCamera-event-if00 -> ../event10

Логи (после создания правила):

~$ xinput
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ A4TECH USB Device                           id=10    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                    id=14    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ Lenovo EasyCamera                           id=11    [slave  keyboard (3)]
    ↳ Ideapad extra buttons                       id=12    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=13    [slave  keyboard (3)]

~$ cat /var/log/Xorg.0.log | grep A4TECH
[    29.063] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event5)
[    29.063] (**) A4TECH USB Device: Applying InputClass "libinput keyboard catchall"
[    29.063] (II) Using input driver 'libinput' for 'A4TECH USB Device'
[    29.064] (**) A4TECH USB Device: always reports core events
[    29.064] (EE) libinput: A4TECH USB Device: Failed to create a device for /dev/input/event5
[    29.064] (EE) PreInit returned 2 for "A4TECH USB Device"
[    29.066] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/event6)
[    29.066] (**) A4TECH USB Device: Applying InputClass "libinput pointer catchall"
[    29.066] (II) Using input driver 'libinput' for 'A4TECH USB Device'
[    29.066] (**) A4TECH USB Device: always reports core events
[    29.124] (II) input device 'A4TECH USB Device', /dev/input/event6 is tagged by udev as: Mouse
[    29.124] (II) input device 'A4TECH USB Device', /dev/input/event6 is a pointer caps
[    29.164] (II) XINPUT: Adding extended input device "A4TECH USB Device" (type: MOUSE, id 10)
[    29.165] (**) A4TECH USB Device: (accel) selected scheme none/0
[    29.165] (**) A4TECH USB Device: (accel) acceleration factor: 2.000
[    29.165] (**) A4TECH USB Device: (accel) acceleration threshold: 4
[    29.225] (II) input device 'A4TECH USB Device', /dev/input/event6 is tagged by udev as: Mouse
[    29.226] (II) input device 'A4TECH USB Device', /dev/input/event6 is a pointer caps
[    29.229] (II) config/udev: Adding input device A4TECH USB Device (/dev/input/mouse0)

~$ cat /var/log/Xorg.0.log | grep keyboard
[    28.787] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[    28.856] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[    28.983] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[    28.984] (**) Video Bus: Applying InputClass "libinput keyboard catchall"
[    28.986] (II) input device 'Video Bus', /dev/input/event11 is a keyboard
[    29.005] (II) input device 'Video Bus', /dev/input/event11 is a keyboard
[    29.008] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[    29.009] (II) input device 'Power Button', /dev/input/event3 is a keyboard
[    29.026] (II) input device 'Power Button', /dev/input/event3 is a keyboard
[    29.028] (**) Sleep Button: Applying InputClass "libinput keyboard catchall"
[    29.029] (II) input device 'Sleep Button', /dev/input/event1 is a keyboard
[    29.056] (II) input device 'Sleep Button', /dev/input/event1 is a keyboard
[    29.063] (**) A4TECH USB Device: Applying InputClass "libinput keyboard catchall"
[    29.231] (**) Lenovo EasyCamera: Applying InputClass "libinput keyboard catchall"
[    29.232] (II) input device 'Lenovo EasyCamera', /dev/input/event10 is a keyboard
[    29.276] (II) input device 'Lenovo EasyCamera', /dev/input/event10 is a keyboard
[    29.278] (**) Ideapad extra buttons: Applying InputClass "libinput keyboard catchall"
[    29.279] (II) input device 'Ideapad extra buttons', /dev/input/event9 is a keyboard
[    29.303] (II) input device 'Ideapad extra buttons', /dev/input/event9 is a keyboard
[    29.304] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)
[    29.304] (**) AT Translated Set 2 keyboard: Applying InputClass "libinput keyboard catchall"
[    29.304] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
[    29.304] (**) AT Translated Set 2 keyboard: always reports core events
[    29.320] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is tagged by udev as: Keyboard
[    29.320] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is a keyboard
[    29.344] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 13)
[    29.345] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is tagged by udev as: Keyboard
[    29.346] (II) input device 'AT Translated Set 2 keyboard', /dev/input/event0 is a keyboard

Может подскажите что-нибудь дельное. Сейчас то всё работает, но хотелось бы разобраться.

40

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

chadwick пишет:

Может подскажите что-нибудь дельное. Сейчас то всё работает, но хотелось бы разобраться.

Я в этих делах некомпетентен. Я как программист просто работаю с файлом устройства и все. А откуда он появляется и как создается в системе - мне не ведомо. Это надо на ЛОР или Опеннет писать, там сидят люди, которых хлебом не корми, а дай поковыряться с правилами UDEV.

41 (изменено: knn, Вчера 03:46:18)

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

Это точнее для puppyrus-A (модульного live-дистрибутива). Модули эти пока не портированы(и поэтому иногда, изредка, "в  некоторых обстоятельствах" "отваливаются").
Для puppy и puppyrus собирал также пока непортированный модуль (32-бит) - ссылку выложу позже.

p.s. Регулярно пользуюсь - еще раз спасибо Вам.

42 (изменено: knn, Вчера 08:45:09)

Re: LoLo Switcher v.0.15, v.0.20, v.0.28

knn пишет:

Для puppy и puppyrus собирал также пока непортированный модуль (32-бит) - ссылку выложу позже.

http://file.puppyrus.org/users/pr/lolos … s-kn01.pfs
https://yadi.sk/d/2RQt41It3Z2aYR
(т.к. модуль не портирован - не факт, что подойдет для всех puppy)