1

Тема: LoLo Switcher v.0.15, v.0.20

Эта тема для обсуждения переключателя клавиатуры LoLo Switcher v.0.15, v.0.20.

Сюда пишем вопросы по конфигурированию, багрепорты, здесь же обсуждаем хотелки.

2

Re: LoLo Switcher v.0.15, v.0.20

xintrea пишет:

здесь же обсуждаем хотелки.

Хотел переделать на чистом С, хотел и переделал :-P

http://github.com/pavlinux/Pavlinux-LoL … ix-Edition

3

Re: LoLo Switcher v.0.15, v.0.20

Pavlinux пишет:
xintrea пишет:

здесь же обсуждаем хотелки.

Хотел переделать на чистом С, хотел и переделал

А какой в этом смысл? Ну убрали классы, методы переделали на функции, все приватные свойства теперь вывалены в глобальную область видимости. Потеряли ООП декомпозицию. Для чего всё это?

PS: И еще просьба. Коль вы делаете форк, тем более на другом языке программирования, пожалуйста, поменяйте название своей программы. Название LoLo Switcher закреплено за моей разработкой, и является объектом авторского права. Оно принадлежит мне по факту создания произведения. Предлагаю название PePe Switcher, так звали подругу LoLo в мультфильме.

Не забудьте переделать расположение конфиг-файла.

4

Re: LoLo Switcher v.0.15, v.0.20

xintrea пишет:

А какой в этом смысл? Ну убрали классы, методы переделали на функции, все приватные свойства теперь вывалены в глобальную область видимости. Потеряли ООП декомпозицию. Для чего всё это?
.

Какие нафиг приватные свойства, ООП декомпозиции, ...
Раздуваете из мухи Программно-аппаратный комплекс своими ООП.

5

Re: LoLo Switcher v.0.15, v.0.20

А у меня переключалка запускается только от рута - от пользователя ругается на permission denied -нет доступа к /dev/event0 . Так и должно быть или я что то не так делаю ?

6

Re: LoLo Switcher v.0.15, v.0.20

jumper пишет:

А у меня переключалка запускается только от рута - от пользователя ругается на permission denied -нет доступа к /dev/event0 . Так и должно быть или я что то не так делаю ?

Да, ты делаешь неправильно - не читаешь readme.

Если ставил из исходников:

* For install, run by root:

  make install

* For running switcher, run command:

  /usr/sbin/loloswitcher

Если ставил бинарную сборку:

1. Login as root
2. Copy loloswitcher binary to /usr/sbin
3. Run command:

   chown root:root /usr/sbin/loloswitcher
   chmod u+s /usr/sbin/loloswitcher


* For running switcher, type command:

  /usr/sbin/loloswitcher

7

Re: LoLo Switcher v.0.15, v.0.20

Занятная штука. Обязательно попробую.
Остался один вопрос: что делать тем, кому мало индикатора в виде лампочки скроллока - тем, кто использует более двух раскладок? Планируется ли какое-нить решение "с шашечками" - флажки в области уведомлений или ещё что. Ну или по крайней мере направления, в которых надо будет покопаться, чтоб сие реализовать.

8

Re: LoLo Switcher v.0.15, v.0.20

Константин пишет:

Занятная штука. Обязательно попробую.
Остался один вопрос: что делать тем, кому мало индикатора в виде лампочки скроллока - тем, кто использует более двух раскладок? Планируется ли какое-нить решение "с шашечками" - флажки в области уведомлений или ещё что. Ну или по крайней мере направления, в которых надо будет покопаться, чтоб сие реализовать.

Я такого направления не планирую. LoLo Switcher - это переключатель раскладки, не индикатор раскладки. Понятно, что с точки зрения пользователя переключатель должен иметь индикатор, но в линухе из-за зоопарка DE сделать надежный безглючный индикатор раскладки очень сложно. Если кто-то озаботится - пожалуйста, исходники открыты.

Кстати, LoLo Switcher не мигает лампочками. Лампочку зажигает и гасит, по всей видимости, xkb. Я даже не разбирался в этом - вижу, что лампочка при смене языка преключает свое стостояние, и ладно, главное что работает.

9

Re: LoLo Switcher v.0.15, v.0.20

Не работает.
Тест событий выводит только символ нажатой клавиши.

10

Re: LoLo Switcher v.0.15, v.0.20

yoyoma пишет:

Не работает.
Тест событий выводит только символ нажатой клавиши.

Это означает, что у вас устройство ввода не /dev/input/event0.

Разберитесь, какое устройство ввода в вашей системе отвечает за клавиатуру, и пропишите его в конфиг-файле LoLo Switcher-а.

11

Re: LoLo Switcher v.0.15, v.0.20

О "хотелках"

1. Хотелось бы .deb пакет. Для amd64 и i386. Может даже репозиторий - было бы удобно обновлять.
2. Индикатор всё же нужен. Писать его наверное не стоит, но "подцепить" что либо существующее можно. Пользователи привыкли к флажку в System Tray

12

Re: LoLo Switcher v.0.15, v.0.20

anonymous пишет:

О "хотелках"
1. Хотелось бы .deb пакет. Для amd64 и i386. Может даже репозиторий - было бы удобно обновлять.

Пусть опакечивает тот, кто умеет это делать. Мне это неинтересно.


anonymous пишет:

2. Индикатор всё же нужен. Писать его наверное не стоит, но "подцепить" что либо существующее можно. Пользователи привыкли к флажку в System Tray

Так цепляется системный индикатор. У меня в KDE4 индикатор раскладки показывает текущий язык, который переключает LoLo Switcher. Ничего для этого настраивать ненужно, раотает само.

13

Re: LoLo Switcher v.0.15, v.0.20

1. Для компиляции кроме указанных пакетов нужно ещё как минимум libx11-dev и cmake, ещё видимо g++ или же сразу build-essential если в deb-based. Совершенно точно ничего из этого нету ни в одной десктоп-версии дистрибутива.
2. В убе не работает - надо бы добавить в хелп инструкцию по поводу того, как найти устройство клавы и где они находятся вообще в стандартных дистрибутивах. Я вот лично без понятия, как это сделать.
2а. Вообще-то из-за того, что есть такие проблемы, хотелось бы, чтобы программа при первом запуске определяла дистр, в котором работает, и выставляла правильные настройки в конфиг.
3. Deb через PPA было бы круто. Если будет время - попробую с этим подсобить.

14

Re: LoLo Switcher v.0.15, v.0.20

Предложение:
у меня следующий юзкейс
3 раскладки, нужны все три, но перечключаюсь чаще между двумя.
при этом очень напряжно работать с тремя клавишами. Хочеться две smile.
По одной циклически между главными двумя раскладками, по второй переключать на редко используемую.

Вроде этого:
SwitchMethod=0,0,1


Кстати в большинстве дистрибутивов я думаю, клава может быть названа по id:

0.~/d/r/t/l/build> ls /dev/input/by-id/
usb-PIXART_USB_OPTICAL_MOUSE-event-mouse@  usb-_USB_Keyboard-event-if01@
usb-PIXART_USB_OPTICAL_MOUSE-mouse@        usb-_USB_Keyboard-event-kbd@

Потому можно писать:

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

тогда по идее не должно меняться при отключении/подключении клавы.

Спасибо за внимание.

15

Re: LoLo Switcher v.0.15, v.0.20

kp пишет:

Предложение:
у меня следующий юзкейс
3 раскладки, нужны все три, но перечключаюсь чаще между двумя.
при этом очень напряжно работать с тремя клавишами. Хочеться две smile.
По одной циклически между главными двумя раскладками, по второй переключать на редко используемую.

Только написал, понял, что мне єто нах не надо. Текущий способ лучше. smile. Спс.

16

Re: LoLo Switcher v.0.15, v.0.20

OpenSuSe 12.1 (KDE 4.7): из сырцов собралось нормально.
После запуска, потыкав в кнопки, ловлю багу:
"Short input keyboard device read". И вылетаем. Насколько вижу, проверяется
if(rb < (int) sizeof(struct input_event))
и вылет. Пока вставил затычку "return false;", чтобы заработало.

  Уши баги скорее всего растут из обработчика KDE, т.к. заметил странный периодический "дребезг" после установки 12.1. Однако, сие не повод к самоликвидации smile

17

Re: LoLo Switcher v.0.15, v.0.20

PnD пишет:

OpenSuSe 12.1 (KDE 4.7): из сырцов собралось нормально.
После запуска, потыкав в кнопки, ловлю багу:
"Short input keyboard device read". И вылетаем. Насколько вижу, проверяется
if(rb < (int) sizeof(struct input_event))
и вылет. Пока вставил затычку "return false;", чтобы заработало.

  Уши баги скорее всего растут из обработчика KDE, т.к. заметил странный периодический "дребезг" после установки 12.1. Однако, сие не повод к самоликвидации smile

Тоже ловлю такой баг. Но у меня CrunchBang#! GNU/Linux (х64) + Openbox. Вроде ставил из исходников.
После запуска работает некоторое время, но вдруг обрывается и все. Вылетает с этой ошибкой:

$ Short input keyboard device read

[1]+  Exit 1                  loloswitcher  (wd: ~)

Почему вылетает так и не понял. Вроде время работы не постоянное. Такое ощущение, что это просиходит по одной и той же причине, но что ЛоЛосвитчер выбивает, не понимаю. Хотелось бы попросить зафиксить этот баг, или хотя бы костыль предложите, а то вылетает так неожиданно, когда совсем не ждешь этого... Спасибо.

18

Re: LoLo Switcher v.0.15, v.0.20

Не могу я пофиксить этот баг по причине того, что у меня он не воспроизводится. Тут уж сами пользователи должны разобраться что происходит.

19

Re: LoLo Switcher v.0.15, v.0.20

Я так понимаю решения проблемы с падением LoLo не будет. Жаль.
Сам я не программер, чтобы разобраться в чем косяк.
Автор продолжит развивать/поддерживать переключатель или тему можно считать закрытой?

20

Re: LoLo Switcher v.0.15, v.0.20

Гост пишет:

Я так понимаю решения проблемы с падением LoLo не будет. Жаль.
Сам я не программер, чтобы разобраться в чем косяк.
Автор продолжит развивать/поддерживать переключатель или тему можно считать закрытой?

Я уже написал, что у меня баг не воспроизводится. Когда я решусь поставить Linux 64bit, и увижу глюк, тогда исправлю. Пока пользователь либо сам должен решить свои проблемы, либо активно искать человека, который разберется в баге.

21

Re: LoLo Switcher v.0.15, v.0.20

xintrea пишет:
Гост пишет:

Я так понимаю решения проблемы с падением LoLo не будет. Жаль.
Сам я не программер, чтобы разобраться в чем косяк.
Автор продолжит развивать/поддерживать переключатель или тему можно считать закрытой?

Я уже написал, что у меня баг не воспроизводится. Когда я решусь поставить Linux 64bit, и увижу глюк, тогда исправлю. Пока пользователь либо сам должен решить свои проблемы, либо активно искать человека, который разберется в баге.

В моем случае падает на 32bit (openSUSE 12.1)

22

Re: LoLo Switcher v.0.15, v.0.20

Гост пишет:
xintrea пишет:

Я уже написал, что у меня баг не воспроизводится. Когда я решусь поставить Linux 64bit, и увижу глюк, тогда исправлю. Пока пользователь либо сам должен решить свои проблемы, либо активно искать человека, который разберется в баге.

В моем случае падает на 32bit (openSUSE 12.1)

В общем, при обновлении с Debian Stable на Debian Testing (Wheezy), у меня появился такой же глюк. Я исправил LoloSwitcher, скоро сделаю релиз.

23

Re: LoLo Switcher v.0.15, v.0.20

Здравствуйте, Сергей!

Спасибо вам большое за loloswitcher — использую его уже года 3 постоянно (английский язык — Caps Lock, русский — Ctrl, греческий (LaTeX, формулы) — Fn).

Судя по сайту, новые версии программы не выходили уже чуть меньше, чем три года. Есть 2 вещи, которые я бы хотел исправить:
1. Поддержка работы с двумя клавиатурами (дома и на работе). Тупой способ — дополнительная опция с именем конфига и запуск двух экземпляров.
2. Исправление бага, когда в редких случаях loloswitcher съедает 100% процессора и его надо убивать и запускать снова.

Как вы относитесь к тому, что я создам репозиторий (из исходников с вашего сайта) на GitHub и что смогу допилю?

24

Re: LoLo Switcher v.0.15, v.0.20

Роман пишет:

1. Поддержка работы с двумя клавиатурами (дома и на работе). Тупой способ — дополнительная опция с именем конфига и запуск двух экземпляров.

Увидел из кода, что читается конфиг из текущей папки. Ну хотя бы так.

25

Re: LoLo Switcher v.0.15, v.0.20

Роман пишет:

Здравствуйте, Сергей!

Спасибо вам большое за loloswitcher — использую его уже года 3 постоянно (английский язык — Caps Lock, русский — Ctrl, греческий (LaTeX, формулы) — Fn).

Судя по сайту, новые версии программы не выходили уже чуть меньше, чем три года. Есть 2 вещи, которые я бы хотел исправить:
1. Поддержка работы с двумя клавиатурами (дома и на работе). Тупой способ — дополнительная опция с именем конфига и запуск двух экземпляров.
2. Исправление бага, когда в редких случаях loloswitcher съедает 100% процессора и его надо убивать и запускать снова.

Как вы относитесь к тому, что я создам репозиторий (из исходников с вашего сайта) на GitHub и что смогу допилю?

Делайте форк, это же опенсорч. Только название другое дайте. Или присылайте фиксы.

Кстати, за три года работы ни разу не наблюдал чтобы процессор выжирался. Там просто нечему это делать. Если такое повторяется, попробуйте чрез gdb подключиться к работающему процессу и посмотреть что там происходит.