The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20, opennews (??), 14-Сен-11, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


21. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +2 +/
Сообщение от pavlinux (ok), 15-Сен-11, 07:25 
Main.cpp: В функции «bool checkEventFilter(char*)»:
Main.cpp:437:110: предупреждение: passing NULL to non-pointer argument 6 of «int pcre_exec(const pcre*, const pcre_extra*, const char*, int, int, int, int*, int)» [-Wconversion-null]

Main.cpp: В функции «void executeCommand(int)»:
Main.cpp:585:75: предупреждение: приведение к типу указателя от целого другого размера [-Wint-to-pointer-cast]

Main.cpp: В функции «void* threadFunc(void*)»:
Main.cpp:597:34: ошибка: cast from «void*» to «int» loses precision [-fpermissive]
gmake[2]: *** [CMakeFiles/loloswitcher.dir/Main.cpp.o] Ошибка 1

---

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

---

Ах да, у меня клава и мышь PS/2, как жить?  Драйвер input не вапаян в ядро.

Ответить | Правка | Наверх | Cообщить модератору

26. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от pavlinux (ok), 15-Сен-11, 08:32 
> Ах да, у меня клава и мышь PS/2, как жить?  Драйвер
> input не вапаян в ядро.

И ещё, в последних дистрибах xorg.conf нет, и CoreKeyboard не используется.
И при зпгрузке X_ов у меня 5 штук /dev/input/inputX.
Более того вынимая клаву, и втыкая другую она может стать как /dev/input/input6,
а может и 7.
Ах да, а ещё я использую по две или три клавы, на одной китайская и японская раскладки,
на второй хидни и монголская, на третьей русcкая и англайская. Как жить-то? :)    
Владельцы Тыкпадов ваще в панике...  


Ответить | Правка | Наверх | Cообщить модератору

32. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +1 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 15-Сен-11, 10:18 
> Ах да, а ещё я использую по две или три клавы, на одной китайская и японская раскладки,

на второй хидни и монголская, на третьей русcкая и англайская. Как жить-то? :)    

Это ты так эффективно троллишь или на самом деле так?

Ответить | Правка | Наверх | Cообщить модератору

43. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от zazik (ok), 15-Сен-11, 12:42 
>> Ах да, а ещё я использую по две или три клавы, на одной китайская и японская раскладки,
> на второй хидни и монголская, на третьей русcкая и англайская. Как жить-то?
> :)
> Это ты так эффективно троллишь или на самом деле так?

А почему нет, если надо общаться с этой братией? Отдельная клава с раскладкой удобнее запоминания на какой клавише какой символ.

Ответить | Правка | Наверх | Cообщить модератору

98. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от Аноним (-), 16-Сен-11, 15:21 
надо добавлять поддержку udev
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

60. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  –2 +/
Сообщение от anonymous (??), 15-Сен-11, 15:23 
> Мне вот интересно, нах…я народ скупает новое железо, что б туда впиндюрить
> 32-битную ОСь

может, потому, что ваши хвалёные 64 бита всё равно надо обвешивать костылями, чтобы пускать 32-битные софтины? так нафига мне вот такой вот геморой с 64-мя битами, которые нафиг не нужны дома ни для чего, кроме кидания понтов?

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

168. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от Аноним (-), 21-Сен-11, 06:59 
> может, потому, что ваши хвалёные 64 бита всё равно надо обвешивать костылями,
> чтобы пускать 32-битные софтины?

Выбросить нахрен такие софтины, которые требуют костылей. Обычно это кривая и проблемная проприетарщина, писаная жопорукими обезьянами, настолько похабно и непортабельно что легче застрелиться чем собрать под 64 бита. Остальные в состоянии собрать софт под 64 бита без проблем, что и наблюдается. Внезапно, все дебиановские 20000+ пакетов - влегкую есть под 64 бита.

Ответить | Правка | Наверх | Cообщить модератору

176. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от anonymous (??), 21-Сен-11, 14:03 
> Выбросить нахрен такие софтины, которые требуют костылей.

я так понимаю, ты согласен бесплатно их все переписать? приезжай, координаты дам. прикуём к пулемёту и будешь вкалывать. исходники тоже дадим. а вот денег, еды и прочего — не дадим.

ты, видимо, не знаешь, что такое «большая контора» и «legacy code». где-то я тебе даже завидую.

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

зыж а я лично вообще don't give a shit to x64. некоторый мой софт, правда, под x64 собирается, но это я нечаянно, я работаю над устранением таких недостатков.

Ответить | Правка | Наверх | Cообщить модератору

177. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от anonymous (??), 21-Сен-11, 14:06 
кстати, интересно: сколько из этого софта так же безпроблемно соберётся на 128-битной архитектуре?

хинт, хинт: не так много, как ты себе фантазируешь. потому что в куче софта стоят ифдефные костыли вида «32? приседай! 64? прыгай!» а на 128 костыля нет. это — не «переносимый софт», это «обкостыленый софт».

если сделать эмуль такой архитектуры и собрать под него юзерлэнд… нет, я даже издалека это видеть не желаю.

Ответить | Правка | К родителю #168 | Наверх | Cообщить модератору

178. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от anonymous (??), 21-Сен-11, 14:06 
вот блин. спросонок в грамотности глюканул…
Ответить | Правка | Наверх | Cообщить модератору

193. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от Dejavu_Dmitry (?), 08-Окт-11, 01:08 
> Main.cpp: В функции «void* threadFunc(void*)»:
> Main.cpp:597:34: ошибка: cast from «void*» to «int» loses precision
> [-fpermissive]
> gmake[2]: *** [CMakeFiles/loloswitcher.dir/Main.cpp.o] Ошибка 1
> ---
> Мне вот интересно, нах...я народ скупает новое железо, что б туда впиндюрить
> 32-битную ОСь
> ---
> Ах да, у меня клава и мышь PS/2, как жить?  Драйвер
> input не вапаян в ядро.

Понравилась идея автора. Скачал, попытался скомпилировать. Наткнулся на такую же проблему, те же ошибки.

>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp: In function ‘bool >checkEventFilter(char*)’:
>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp:453:105: warning: passing NULL to >non-pointer argument 6 of ‘int pcre_exec(const pcre*, const pcre_extra*, const char*, >int, int, int, int*, int)’ [-Wconversion-null]
>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp: In function ‘void >executeCommand(int)’:
>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp:614:71: warning: cast to pointer from >integer of different size [-Wint-to-pointer-cast]
>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp: In function ‘void* threadFunc(void*)’:
>
>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp:628:31: error: cast from ‘void*’ to >‘int’ loses precision [-fpermissive]
>make[2]: *** [CMakeFiles/loloswitcher.dir/Main.cpp.o] Ошибка 1
>make[1]: *** [CMakeFiles/loloswitcher.dir/all] Ошибка 2
>make: *** [all] Ошибка 2

Я использую 64-битную систему и соответственной битности компилятор.
Открыл исходники, посмотрел. Заметил, что автор оставил кое-какие строки закомментированными. Имея невообразимо малый опыт программирования и такой же величины знание английского (сообщения компилятора выдавались на английском) попытался исправить код так, чтобы наконец использовать во благо это воплощение хорошей авторской идеи.
Понемногу убивал предупреждения. Убил ошибку. Запустил бинарник. Работает, но после переключения на нужную раскладку вылетало с ошибкой сегментирования.
В итоге, чтобы избавиться от всех предупреждениях и ошибок, и чтобы работало без вылетов мне пришлось сделать следующие манипуляции с сырком.

1. Строку 453 файла Main.cpp ИЗМЕНИТЬ следующим образом:
Было:
/*453*/        count=pcre_exec( (pcre *)config.getEventFilterCompile(), NULL, text, strlen(text), 0, NULL, ovector, 30);

Стало:
/*453*/        count=pcre_exec( (pcre *)config.getEventFilterCompile(), NULL, text, strlen(text), 0, 0, ovector, 30);

2. Строку 614 файла Main.cpp ЗАкомментировать, а в свою очередь РАСкомментировать предыдущую строку - 613. В итоге стало так:
/*613*/        int result = pthread_create(&thread, NULL, threadFunc, &keyboardLayerNum);
/*614*/        //int result = pthread_create(&thread, &threadAttr, threadFunc, (void*)keyboardLayerNum);

3. Строку 628 файла Main.cpp ЗАкомментировать, а в свою очередь РАСкомментировать предыдущую строку - 627. В итоге стало так:
/*627*/        int keyboardLayerNum = * (int *) arg;
/*628*/        //int keyboardLayerNum = (int) arg;

4. Строку 82 файла EventQueue.cpp ИЗМЕНИТЬ следующим образом:
Было:
/*82*/        count=pcre_exec( (pcre *)regexpCompile, NULL, queueSequence, strlen(queueSequence), 0, NULL, ovector, 30);

Стало:
/*82*/        count=pcre_exec( (pcre *)regexpCompile, NULL, queueSequence, strlen(queueSequence), 0, 0, ovector, 30);


Сохранил изменения в файлах исходников. Выполняю команду 'make' и наблюдаю вывод:
[ 20%] Building CXX object CMakeFiles/loloswitcher.dir/Main.cpp.o
[ 40%] Building CXX object CMakeFiles/loloswitcher.dir/KeyLayout.cpp.o
[ 60%] Building CXX object CMakeFiles/loloswitcher.dir/Config.cpp.o
[ 80%] Building CXX object CMakeFiles/loloswitcher.dir/ParseHelper.cpp.o
[100%] Building CXX object CMakeFiles/loloswitcher.dir/EventQueue.cpp.o
Linking CXX executable loloswitcher
[100%] Built target loloswitcher

Бинарник готов. Запускается, пока не вылетает. После установки продвинутой пищалки для встроенного в компьютер динамика 'beep' я даже услышал (при переключении раскладки) невообразимо точной частоты и длительности писки встроенных динамиков моего скромного ThinkPad`a...
Автору большое спасибо. Желаю удачи и улучшения/исправления кода.
А всем страждущим посмотреть этот ролик и не ныть по каждому поводу.
Try this --> http://www.youtube.com/watch?v=TzWc7VBmTPI

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

194. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от pavlinux (ok), 08-Окт-11, 03:50 
> В итоге, чтобы избавиться от всех предупреждениях и ошибок, и чтобы работало
> без вылетов мне пришлось сделать следующие манипуляции с сырком.

Баян, велосипед,... и всё такое ... :)

https://www.opennet.ru/openforum/vsluhforumID3/80302.html#105

Ответить | Правка | Наверх | Cообщить модератору

195. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от xintreaemail (ok), 08-Окт-11, 20:22 
>[оверквотинг удален]
>>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp:453:105: warning: passing NULL to >non-pointer argument 6 of ‘int pcre_exec(const pcre*, const pcre_extra*, const char*, >int, int, int, int*, int)’ [-Wconversion-null]
>>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp: In function ‘void >executeCommand(int)’:
>>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp:614:71: warning: cast to pointer from >integer of different size [-Wint-to-pointer-cast]
>>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp: In function ‘void* threadFunc(void*)’:
>>
>>/home/dejavu/downloads/loloswitcher_0_20/Main.cpp:628:31: error: cast from ‘void*’ to >‘int’ loses precision [-fpermissive]
>>make[2]: *** [CMakeFiles/loloswitcher.dir/Main.cpp.o] Ошибка 1
>>make[1]: *** [CMakeFiles/loloswitcher.dir/all] Ошибка 2
>>make: *** [all] Ошибка 2
> Я использую 64-битную систему и соответственной битности компилятор.

Вот тут написали как исправить:

https://www.opennet.ru/openforum/vsluhforumID3/80302.html#105

Кратко - строку с минусиком заменяем на строку с плюсиком.

Скоро исправлю и выложу на официальный сайт.

Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

196. "Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20"  +/
Сообщение от xintreaemail (ok), 09-Окт-11, 21:17 
Сделано.

Забирай релиз для x86_64 с официальной странички: http://webhamster.ru/site/page/index/articles/projectcode/180

Новость: http://webhamster.ru/site/page/index/main/news/191

Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру