The OpenNET Project / Index page

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

Низкоуровневый переключатель клавиатуры LoLo Switcher 0.20

14.09.2011 21:57

Выпущен стабильный релиз низкоуровневого локального переключателя клавиатуры LoLo Switcher v.0.20 для X11. LoLo Switcher работает как процесс на низком системном уровне, и получает данные от клавиатуры напрямую из устройства ввода. Обнаружив нужную последовательность кодов, LLS вызывает функции X11, отвечающие за переключение раскладки.

Особенности программы:

  • Функционирует в любых окружениях рабочего стола (KDE3, KDE4, GNOME2, LXDE);
  • Поддерживает любые модели клавиатур и джойстиков;
  • Работает напрямую с устройством ввода;
  • Предельная компактность, скорость работы, близкая к нулю нагрузка на систему;
  • Прозрачная работа параллельно с другими переключателями клавиатуры;
  • Феноменально гибкие возможности настройки;
  • Встроенные средства диагностики устройства ввода.

Фильтрация и отслеживание событий клавиатуры настраивается с помощью регулярных выражений. Благодаря этому, переключатель можно настроить на любую экзотическую клавиатурную комбинацию. Настраивается даже срабатывание по отжатию клавиш. По-умолчанию переключатель настроен на два языка, переключение на язык происходит напрямую при отжатии левого и правого SHIFT.

  1. Главная ссылка к новости (http://webhamster.ru/site/page...)
Автор новости: xintrea
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/31755-rus
Ключевые слова: rus, x11, keyboard
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (162) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Zenitur (ok), 22:47, 14/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо вам. А вы умеете так, что набирается слово не в той раскладке, сочетание клавиш - и уже набранное слово переводится! И ещё, вам донейты нужны?
     
     
  • 2.3, umbr (ok), 22:54, 14/09/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Донейты никому не помешают, особенно тем, кто выкладвает свои проекты под GPL/BSD лицензиями.
     
  • 2.7, Аноним (-), 23:31, 14/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    xneur/gxneur
     
     
  • 3.37, rshadow (ok), 11:32, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > xneur/gxneur

    С половиной софта не работает. Плюс глюки с переводом текста. Но это не вина автора, просто зоопарк большой GNOME, KDE, Mozilla, Java... каждый со своими окнами по своему работают, на Х забили все давно...

     
     
  • 4.137, Frank (ok), 08:28, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    punto switcher работает с одним DM, но тоже глючит.
     
  • 2.24, СуперАноним (?), 07:58, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >набирается слово не в той раскладке, сочетание клавиш - и уже набранное слово переводится!

    А теперь представьте, мы в гуевом терминале, например, запустили SSH сессию... И тут такая подлянка с этим переводом.

     
     
  • 3.50, redwolf (ok), 13:22, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    "При работе в автоматическом режиме, xneur автоматически определяет раскладку вводимого текста и изменяет язык за вас. В этом режиме предусмотрена возможность задания приложений исключений, в которых автоматический режим будет заменён на ручной.

    При работе в ручном режиме xneur не отслеживает набор, но позволяет автоматически изменять раскладку последнего набранного слова (кнопка Pause/Break), последней набранной строки (сочетание клавиш Ctrl + Break), выделенного текста (сочетание клавиш Shift + Break) и другие полезные функции."

     

  • 1.4, Аноним (-), 22:54, 14/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Этот демон от рута запущен?
     
     
  • 2.5, umbr (ok), 23:00, 14/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    нет, от юзера
     
     
  • 3.8, Аноним (-), 23:48, 14/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага, с суидным битом.
     
     
  • 4.9, umbr (ok), 23:56, 14/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем ему суидный бит?
     
     
  • 5.12, AHAHAC (ok), 01:30, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > напрямую из устройства ввода.
     

  • 1.10, Аноним (-), 00:12, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я правильно понял - это такой костыль, чтобы можно было переключать раскладку, допустим, через Alt+Shift и при этом юзать хоткеи Alt+Shif+some_key (штатными возможностями иксов так не сделать)?
     
     
  • 2.13, Etch (?), 03:17, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    присоединяюсь к вопросу
     
     
  • 3.20, Etch (?), 07:24, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Наконец-то под линухом появилась нормальная переключалка раскладки.

    Кому надо переключать по Ctrl+Shift - вот нужная строка конфига:
    Sequence0=(?<!1;|2;)(((1,29,1;1,42,1;|1,42,1;1,29,1;)(1,29,0;1,42,0;|1,42,0;1,29,0;))|((1,54,1;1,97,1;|1,97,1;1,54,1;)(1,54,0;1,97,0;|1,97,0;1,54,0;)))$
    и не забудьте поставить SwitchMethod=0

     
     
  • 4.23, Аноним (-), 07:51, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по формату конфигов, сабж написан на перле
     
     
  • 5.64, anonimous (?), 15:41, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    судя по сорцам C++ :)
     
     
  • 6.65, anonymous (??), 15:51, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > судя по сорцам C++ :)

    от цпп там только расширение и пара ключевых слов, остальное написано фиг знает на чём. %-)

     
  • 5.135, AHAHAC (ok), 05:28, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    libpcre - переводицца как lib - понятно, pcre - Perl Compatible Regular Expressions
     
  • 4.82, Alatar (ok), 21:48, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Sequence0=(?<!1;|2;)(((1,29,1;1,42,1;|1,42,1;1,29,1;)(1,29,0;1,42,0;|1,42,0;1,29,0;))|((1,54,1;1,97,1;|1,97,1;1,54,1;)(1,54,0;1,97,0;|1,97,0;1,54,0;)))$

    Эээ.. а, это... Ммм... А можно ЭТО перевести на русский, а?

     
     
  • 5.84, xintrea (ok), 23:09, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Статья "Конфигурирование LoLo Switcher. Полное руководство."

    http://webhamster.ru/site/page/index/articles/projectcode/181

    Там про это написано. Тот кто минимально знаком с регулярками, поймет.

     
  • 5.94, anonymous (??), 12:59, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Эээ.. а, это... Ммм... А можно ЭТО перевести на русский, а?

    это Интуитивно Понятно и Очень Просто.

     
     
  • 6.109, анони (?), 21:34, 17/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всё проще. Это Опенсорс. Здесь мужики суровые, и не такое видали.
     
  • 2.15, anonymous (??), 04:54, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Я правильно понял - это такой костыль, чтобы можно было переключать раскладку,
    > допустим, через Alt+Shift и при этом юзать хоткеи Alt+Shif+some_key (штатными возможностями
    > иксов так не сделать)?

    да.

     
     
  • 3.19, sabitov (ok), 07:18, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ммм, на всех клавах, которые я видел, всегда есть одна абсолютно ненужная кнопка, расположенная между левым шифтом и табом. Соответственно, grp:caps_toggle и никаких коллизий не будет никогда.

    Т.е. я не против проекта, но, честное слово, его ценность от меня ускользает.

     
     
  • 4.44, gegMOPO4 (ok), 12:43, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Кнопка одна, а раскладок больше одной.
     
     
  • 5.57, sashkan (ok), 15:19, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Кнопка одна, а раскладок больше одной.

    есть ещё модификиторы·
    как минимум: shift, ctrl, alt (включая их комбинации, а при желании — ещё и различая правые и левые клавиши)·
    учитывая, что по умолчанию в x-сервере лишь четыре группы, этих клавиш более чем достаточно·

     
  • 5.87, Викрам (?), 10:41, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    kkbswitch - по капсу переключаемся между двумя последними, и для каждой раскладки своя горячая клавиша, например, альт+1, альт+2, альт+3 etc. очень удобно
     
  • 4.47, Sas (ok), 13:11, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ага, мега удобно!
    а капс если уж так нужен врубать по капс_шифт и отключать по шифту
    единственный минус такого решения - очень трудно потом за другими компами:)
     
     
  • 5.88, Ainari (?), 10:45, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Есть такое. Кто-нибудь знает как настроить переключение раскладок по Caps Lock в Windows?
     
     
  • 6.89, Викрам (?), 10:57, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть такое. Кто-нибудь знает как настроить переключение раскладок по Caps Lock в
    > Windows?

    гугл знает, я когда-то настраивал под виндой, но уже не помню название программки

     
  • 6.92, Sas (ok), 12:53, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    как всегда через Ж
    http://haali.su/winutils/
    с икспей работала, а с новыми версиями я не проверял
     
  • 6.93, anonymous (??), 12:59, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в Windows?

    уходи.

     
  • 6.121, Kirill.Zabarniuk (?), 15:46, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    с Autohotkey можно так сделать
    http://www.autohotkey.com/
     
  • 2.38, Михаил (??), 11:43, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В natty например включен патч на xorg от Ильи Муравьева и там можно alt+shift+somekey хоткеи и alt+shift перключалку клавиатуры.
     
     
  • 3.51, Аноним (-), 13:34, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что такое natty?
     
     
  • 4.53, Михаил (??), 14:15, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ubuntu 11.04 Natty Narwhal.
     
  • 3.54, Аноним (-), 14:30, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >В natty например включен патч на xorg от Ильи Муравьева

    Кстати, а почему этот патч не принят в мейнстрим Xorg?

     
     
  • 4.86, Михаил (??), 08:49, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Потомучто они там угорели по своим стандартам и хрен чего поменяют до наступления xkb2 (т.е. никогда)
     
  • 3.55, Smb. (?), 14:34, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, зато нажатие Win key жестко перехватывает Unity
     
     
  • 4.58, anonymous (??), 15:20, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, зато нажатие Win key жестко перехватывает Unity

    ССЗБ.

     
  • 2.99, anonymous (??), 15:23, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Иэх, налетай, подешевело! с этой х@$новиной в блендере заработали Ctrl+Shift+<key>. Чо раньше не придумали >_< !
     
     
  • 3.167, Аноним (-), 06:56, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Иэх, налетай, подешевело! с этой х@$новиной в блендере заработали Ctrl+Shift+<key>. Чо
    > раньше не придумали >_< !

    В убунтах оно и так работало, лол :)))

     

  • 1.11, registered (?), 00:22, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Желаю искренне проекту удачи и успехов в развитии.
    Сам переключаю раскладку правым Win, но заметил что не всегда так получается пользоваться, например на нетбуках, где этой клавиши нет, или на КПК(планшетнике).
    setxkbmap -layout 'us,ru(winkeys)',ua -option grp:rwin_toggle
     
     
  • 2.81, Ано онА (?), 21:25, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    +100500
    Самая ненужная клавиша на клавиатуре пригодилась и мне. Жаль, что производители ноутов тоже её сочли ненужной.
     
     
  • 3.112, Аноним (-), 03:30, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > тоже её сочли ненужной.

    А как же капслок? Это и ненужная клавиша и ненужная лампочка. Отлично подходит для раскладки!

     

  • 1.14, anonymous (??), 04:53, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мда. программа хорошая, но код… автор, ну хотя бы man strcpy, а? и если уж c++ — чем не понравились std::string и прочие приятные ништяки?
     
     
  • 2.45, xintrea (ok), 12:45, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > программа хорошая, но код… автор, ну хотя бы man strcpy

    Это психологическая проблема. Я часто путаю strcpy() и strcmp(), могу подумать об одном а написать другое. Поэтому, чтоб не допускать ошибок, пишу sprintf().

    > и если уж c++ — чем не понравились std::string и прочие приятные ништяки?

    Когда в c++ исчезнет std::wstring и останется один std::string, поддерживающий любые символы в любой кодировке, вот тогда std::string понравится. Мне, например, нравится QString и я его использую в Qt. После него std::string - это какой-то огрызок, а не класс строки.

     
     
  • 3.48, gegMOPO4 (ok), 13:14, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Когда в char будет влезать «символ в любой кодировке».
     
  • 3.68, anonymous (??), 15:57, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > одном а написать другое. Поэтому, чтоб не допускать ошибок, пишу sprintf().

    ага. sprintf(dest, src). подсказать, какой кайф будет, если в src встретятся символы форматирования?

    > Когда в c++ исчезнет std::wstring и останется один std::string, поддерживающий любые символы
    > в любой кодировке, вот тогда std::string понравится.

    вообще-то, std::string ничем не хуже сишного char, который используется сейчас. кроме того, что нет проблемы с размером буфера и есть куча ништяковых методов. если ты уже решил на c++ писать -- то пользуйся тем, что там дают, зачем городить свои велосипеды, у которых, к тому же, колёса восьмёрками?

     

  • 1.16, abzu (?), 06:33, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чем отличается от XNeur?
     
     
  • 2.17, anonymous (??), 06:44, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем отличается от XNeur?

    по ссылкам ходить немодно, да?

     

  • 1.18, Anonymous789 (?), 07:07, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот бы разработчики xNeur и LoLo скооперировались и сделали нормальный аналог Punto. А то xNeur работает адекватно далеко не во всех приложениях.
     
  • 1.21, pavlinux (ok), 07:25, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    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 не вапаян в ядро.

     
     
  • 2.26, pavlinux (ok), 08:32, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ах да, у меня клава и мышь PS/2, как жить?  Драйвер
    > input не вапаян в ядро.

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


     
     
  • 3.32, all_glory_to_the_hypnotoad (ok), 10:18, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ах да, а ещё я использую по две или три клавы, на одной китайская и японская раскладки,

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

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

     
     
  • 4.43, zazik (ok), 12:42, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ах да, а ещё я использую по две или три клавы, на одной китайская и японская раскладки,
    > на второй хидни и монголская, на третьей русcкая и англайская. Как жить-то?
    > :)
    > Это ты так эффективно троллишь или на самом деле так?

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

     
  • 3.98, Аноним (-), 15:21, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    надо добавлять поддержку udev
     
  • 2.60, anonymous (??), 15:23, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Мне вот интересно, нах…я народ скупает новое железо, что б туда впиндюрить
    > 32-битную ОСь

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

     
     
  • 3.168, Аноним (-), 06:59, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > может, потому, что ваши хвалёные 64 бита всё равно надо обвешивать костылями,
    > чтобы пускать 32-битные софтины?

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

     
     
  • 4.176, anonymous (??), 14:03, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Выбросить нахрен такие софтины, которые требуют костылей.

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

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

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

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

     
  • 4.177, anonymous (??), 14:06, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    кстати, интересно: сколько из этого софта так же безпроблемно соберётся на 128-битной архитектуре?

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

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

     
     
  • 5.178, anonymous (??), 14:06, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    вот блин. спросонок в грамотности глюканул…
     
  • 2.193, Dejavu_Dmitry (?), 01:08, 08/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Понравилась идея автора Скачал, попытался скомпилировать Наткнулся на такую же... большой текст свёрнут, показать
     
     
  • 3.194, pavlinux (ok), 03:50, 08/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > В итоге, чтобы избавиться от всех предупреждениях и ошибок, и чтобы работало
    > без вылетов мне пришлось сделать следующие манипуляции с сырком.

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

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

     
  • 3.195, xintrea (ok), 20:22, 08/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Вот тут написали как исправить http www opennet ru op... большой текст свёрнут, показать
     
  • 3.196, xintrea (ok), 21:17, 09/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Сделано.

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

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

     

  • 1.22, Dmitriy.trt (ok), 07:34, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как же давно мечтал об этой штуке! Автору СПАСИБО!
     
  • 1.25, Аноним (25), 08:28, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в консоли работает или иксы нужны?
     
     
  • 2.27, pavlinux (ok), 08:32, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А в консоли работает или иксы нужны?

    pcre - X_ы

     
     
  • 3.28, Аноним (28), 09:10, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот Вы же всё знаете... Подскажите, пжлст, существует ли такой индикатор раскладки для Гнома, который бы мог показывать текущую раскладку поверх окна приложения, развёрнутого на весь экран? Допустим, набираю я текст в geany. Экранчик у моего бука маленький. Я нажимаю F11 и перестаю видеть гномовский индикатор раскладки. Теперь я вижу больше текста, что хорошо, но не вижу раскладки, что очень неудобно. Решаемо?
     
     
  • 4.31, all_glory_to_the_hypnotoad (ok), 10:17, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    можно на ЛЕДы клавиатуры вывести индикатор, вместо ScrLk, NumLock и т.д.
     
     
  • 5.35, Аноним (28), 10:26, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > можно на ЛЕДы клавиатуры вывести индикатор, вместо ScrLk, NumLock и т.д.

    Когда у меня была клавиатура со всеми тремя LED'ами, так и делал: назначал индикатором ScrLock. Сейчас у меня его нет. А с двумя другими не получилось, глюки какие-то наблюдались. Хотело бы всё-таки что-то типа плавающего окошка поверх всех остальных окон.

     
     
  • 6.36, Аноним (28), 11:01, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда у меня была клавиатура со всеми тремя LED'ами, так и делал:
    > назначал индикатором ScrLock. Сейчас у меня его нет. А с двумя
    > другими не получилось, глюки какие-то наблюдались. Хотело бы всё-таки что-то типа
    > плавающего окошка поверх всех остальных окон.

    Вспомнил, какие глюки были. Когда назначал NumLock в качестве индикатора раскладки, то когда переходил в русскую раскладку и при этом загорался NumLock, то и функция NumLock включалась. Т.е. клавиши mjkl;uiop7890 становились цифровыми (0123-456*789/ соответственно). CapsLock назначать не пробовал, поскольку оно бывает нужно по прямому назначению.

     
     
  • 7.40, anonymous (??), 11:59, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > CapsLock назначать не пробовал, поскольку оно бывает нужно по прямому
    > назначению.

    давно так не смеялся :)


     
     
  • 8.77, sabitov (ok), 20:08, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, ну тут Вы не правы, если надо много на SQL набрать, то часто выгодней перек... текст свёрнут, показать
     
  • 4.34, whip (?), 10:26, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    capslock, scrolllock индикаторы на нетбуке есть?
     
     
  • 5.113, Аноним (-), 03:32, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > capslock, scrolllock индикаторы на нетбуке есть?

    На моем ноуте есть и капс и индикатор для него. Очень удобно раскладку переключать :)

     
  • 4.39, anonymous (??), 11:57, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вот нахера тебе всё время видеть этот индикатор раскладки?
    плохо с памятью и сложно запомнить набирал ты до этого русский текст или английский?
    или после набора пары символов ты не можешь въехать какой это язык?
     
     
  • 5.41, Аноним (28), 12:07, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вот нахера тебе всё время видеть этот индикатор раскладки?
    > плохо с памятью и сложно запомнить набирал ты до этого русский текст
    > или английский?

    Когда набираешь/правишь в ТеХ'е текст с формулами и при этом думаешь, что будешь дальше писать, сложно.

    > или после набора пары символов ты не можешь въехать какой это язык?

    Беда в том, что в русской раскладке Ctrl+C ИНОГДА не копирует выделенное. Не знаю, это глюк geany или где. В любом случае, перед копированием приходится переключаться в английскую раскладку. И для этого ОЧЕНЬ хочется видеть индикатор.

     
     
  • 6.61, anonymous (??), 15:24, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    выкинь гном, поставь нормальный WM, к нему прицепи xxkb — будет тебе счастья ведёрко.
     
     
  • 7.63, Аноним (28), 15:33, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не знал. Спасибо. Вот это флажок -- он поверх всех окон будет? А с Гномом оно работать не может?
     
     
  • 8.66, anonymous (??), 15:52, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    я не знаю, у меня гнома нет теоретически 8212 ему без разницы позицию флажк... текст свёрнут, показать
     
  • 8.67, anonymous (??), 15:54, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ах, да на фулскрине, если декораций нет -- всё равно запиливает с указаными отс... текст свёрнут, показать
     
     
  • 9.69, Аноним (28), 15:57, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз собирался спросить про фуллскрин Спасибо, буду пробовать ... текст свёрнут, показать
     
  • 5.78, sabitov (ok), 20:10, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вот нахера тебе всё время видеть этот индикатор раскладки?
    > плохо с памятью и сложно запомнить набирал ты до этого русский текст
    > или английский?
    > или после набора пары символов ты не можешь въехать какой это язык?

    Ммм, это если у вас переключение раскладок "глобально" работает, а ежели для каждого окна отдельно, то таки да, сложно.

     

  • 1.29, Аноним (-), 09:12, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    С винды всё больше и больше бесполезного bloatware тянут...
     
     
  • 2.169, Аноним (-), 07:01, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > С винды всё больше и больше бесполезного bloatware тянут...

    1) При чем тут винда?
    2) Почему это - bloatware?
    3) Почему оно бесполезное?

     

  • 1.30, all_glory_to_the_hypnotoad (ok), 10:15, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Прозрачная работа параллельно с другими переключателями клавиатуры;

    это типа если в системе стоит чётное кол-во таких переключателей, то результата от переключения пользователь так и не заметит? Старый же гемор с КДЕшным переключателем вместе с стандартным иксовым.

     
  • 1.42, ызусефещк (?), 12:19, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А с многопользовательской системой как работает? Правила разные для каждого можно делать?
     
     
  • 2.46, xintrea (ok), 13:05, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Для каждого пользователя можно делать разные правила Конфиг конкретного пользов... большой текст свёрнут, показать
     

  • 1.49, gegMOPO4 (ok), 13:15, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Начинание хорошее, но автору ещё предстоит многому научиться.
     
  • 1.52, anonimous (?), 13:52, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отличная софтина. Хороший образец для изготовления клавиатурных шпионов!
     
     
  • 2.56, xintrea (ok), 15:01, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Запусти xev или xneur с дебагом и тоже любуйся на кейлоггинг.
     

  • 1.62, anonymous (??), 15:30, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    сказать хочется только одно: люди, если хотите этим пользоваться — возьмите идею и перепишите поделку с нуля. а то…

    фиксированые буфера размером по 250 байт на строки… копирование сишных строк при помощи sprintf(dest, source) (все уже умилились детской наивности автора?), копирование тех же строк циклом for с завершающей ручной допиской нуляя абсолютное забивание на const char * и прочие радости первокурсника. чтобы получить представление о коде, посмотрите на функции из модуля parsehelper. и поверьте: там *весь* код такой же.

    а чего стоят циклы типа:
    for (i = 0; i < strlen(str); ++i) { … }

    или проверка на пустую сишную строку — при помощи того же strlen()?

    эх…

     
     
  • 2.70, xintrea (ok), 16:41, 15/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что тебя, дорогой неизвестный анон, так код напрягает Ты боишься, что програм... большой текст свёрнут, показать
     
     
  • 3.90, Викрам (?), 11:09, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ну хоть бы так )
    int size = strlen(str);
    for(i = 0; i < size; ++i)

     
     
  • 4.91, Andrey Mitrofanov (?), 11:41, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > int size = strlen(str);
    > for(i = 0; i < size; ++i)

    Реквестую в тред павлинукса с показательным дизассемблером оптимизации этой ерунды "обычным" gcc! Маэстро??

     
     
  • 5.95, anonymous (??), 13:01, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Реквестую в тред павлинукса

    и изена с жабой — чтобы всю труппу уже собрать.

     
  • 5.100, Аноним (-), 15:28, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    gcc соптимизирует если аргумент strlen - const char *. Если нет, то будет вызывать strlen() на каждую итерацию.
     
     
  • 6.101, anonymous (??), 15:42, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > gcc соптимизирует если аргумент strlen - const char *. Если нет, то
    > будет вызывать strlen() на каждую итерацию.

    аффтырь обсуждаемого софта const'ам не обучен вообще.

     
     
  • 7.114, Аноним (-), 03:36, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > аффтырь обсуждаемого софта const'ам не обучен вообще.

    Ну ты, такой умный, почему-то лучше не написал, так? У тебя есть выбор:
    1) Переписать лучше и гордиться собой. Можно даже потом об этом сообщить и отослать автору патч.
    2) Если лень, тогда STFU. Потому что вашего переключатора раскладки я не вижу что-то. Ни плохого, ни хорошего. Плохой - лучше чем никакой, не так ли? :)

     
     
  • 8.119, anonymous (??), 03:48, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    потому что мне такой софт не нужен сюрпрайз там надо не софтину, а всего автор... текст свёрнут, показать
     
     
  • 9.170, Аноним (-), 07:08, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это не значит что он не нужен всем Себя перепишите для начала А то только вон... большой текст свёрнут, показать
     
     
  • 10.179, anonymous (??), 14:25, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Кэп не узнал тебя в маске анонимуса очередной бедняга с поломаным китайским де... большой текст свёрнут, показать
     
  • 3.96, anonymous (??), 13:04, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    [оскорбления удалены модератором]

    sprintf(dest, src). всё, дальше с тобой даже говорить не о чем.

    [оскорбления удалены модератором]

     
     
  • 4.105, pavlinux (ok), 03:33, 17/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хорошь глумится, идея хорошая, реализация пока не на уровне CodingStyle ядра, ну... большой текст свёрнут, показать
     

  • 1.83, PnD (??), 22:45, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отличный концепт! Наконец-то в X появился грамотный переключатель, вместо объяснений почему это не нужно.

    Но: на SuSe нужен suid или встраивать в стартап иксов, а лучше комитить код прямо в иксы, сопроводив мощным напутственным пинком тамошним девелоперам.

    P.S. Если пойти дальше, можно вообще сделать модель "событие ввода - запуск кода" под любые хоткеи.

     
     
  • 2.97, anonymous (??), 13:08, 16/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Отличный концепт! Наконец-то в X появился грамотный переключатель, вместо объяснений почему
    > это не нужно.

    на клавиатуре есть как минимум две «лишние» кнопки, которые можно заюзать с пользой.

    а владельцы недокомпов (типа ноуты) — ССЗБ, конечно.

     

  • 1.85, Аноним (-), 00:43, 16/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кланяюсь в ноги автору. Как мен давно надо было так и накрутил. Огромное нечеловеческое СПАСИБО!
     
  • 1.102, yurkao (?), 16:07, 16/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Низкоуровневый переключатель клавиатуры - тумблер!
     
     
  • 2.172, Аноним (-), 07:11, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Низкоуровневый переключатель клавиатуры - тумблер!

    А что, это идея :) тумблер и микроконтроллер в USB, прикинуться HIDом - и вот у вас аппаратный тумблер для раскладки, лол :))))

     

  • 1.107, pavlinux (ok), 06:27, 17/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По заявка слушателей:  

    * Pavlinux LoLoSwitcher C99 Unixway GNU Remix Edition *<:-)

    https://github.com/pavlinux/Pavlinux-LoLoSwitcher-C99-Unixway-GNU-Remix-Editio

    # git clone git://github.com/pavlinux/Pavlinux-LoLoSwitcher-C99-Unixway-GNU-Remix-Edition.git;
    # cd Pavlinux-LoLoSwitcher-C99-Unixway-GNU-Remix-Edition;
    # make;
    # ./plsw

    Запускается, но не проверял,... как уже писал, у меня нет /dev/input/event*

    Фсё, задолбался, ушёл спать...
    :)

     
     
  • 2.108, pavlinux (ok), 20:47, 17/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Пофиксил глюки, вроде даже работает :)
     
     
  • 3.183, PnD (??), 17:51, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Пофиксил глюки, вроде даже работает :)

      Спасибо, пашет. Остается интегрировать в иксы и забыть баги нативного свитчера как страшный сон.

     
     
  • 4.184, anonymous (??), 18:04, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Остается интегрировать в иксы и забыть

    …про ьезопасность как про страшный сон.

     
     
  • 5.186, PnD (??), 18:18, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Остается интегрировать в иксы и забыть
    > …про ьезопасность как про страшный сон.

    1. Из под lynx пишете? Или где еще нет проверки орфографии? В ie 6.0? ;/
    2. ps -el | wc -l
    165
      О какой безопасности речь в такой помойке? Это всего лишь кеды на суси и 4 активных окна. Возможно, на бзде процессов на 10 поменьше будет. GUI и безопасность (в смысле контроля над происходящим) вряд ли совместимы.

     
     
  • 6.188, anonymous (??), 18:45, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > 1. Из под lynx пишете? Или где еще нет проверки орфографии?

    опечатался, не посмотрел. бывает.

    > О какой безопасности речь в такой помойке?

    поясню. «помойка» тут не при чём. а вот «интеграция» поделки с кучей явных переполнений буферов в иксы, которые работают, на минуточку, под рутом — это хардкорный экстрим.

     
     
  • 7.189, pavlinux (ok), 21:17, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > c кучей явных переполнений буферов

    Строки можно

     
  • 4.185, PnD (??), 18:08, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Пофиксил глюки, вроде даже работает :)
    >   Спасибо, пашет. Остается интегрировать в иксы и забыть баги нативного
    > свитчера как страшный сон.

      Хотя, нет. Набор багов налицо:
    * Режим -t1 - не работает
    * Параметр конфигурации SwitchMethod - игнорируется, по ходу.

    Дальше лень проверять. Оригинал пока лучше пашет.

     
     
  • 5.187, PnD (??), 18:34, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Так, пока смотрел InputDevice - осознал, что у тебя конфиг через раз не читается. Перезаписывается и вылетает. Короче, это 2.
     
  • 5.190, pavlinux (ok), 21:19, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >   Хотя, нет. Набор багов налицо:

    А я его и не собираюсь доделывать, мне впаяный с xorg нравится :)

     
  • 5.191, anonymous (??), 09:32, 22/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя, нет. Набор багов налицо:
    > * Режим -t1 - не работает
    > * Параметр конфигурации SwitchMethod - игнорируется, по ходу.
    > Дальше лень проверять. Оригинал пока лучше пашет.

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

     
     
  • 6.192, anonymous (??), 13:05, 22/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    денег давай, бесплатно оно нафиг не нужно.
     
  • 2.110, pavlinux (ok), 23:41, 17/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > По заявка слушателей:

    По просьбе автора переименовался.

    Долго не думая стал xks - X Keyboard Switcher

    http://github.com/pavlinux/xks

     
     
  • 3.111, pavlinux (ok), 03:15, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> По заявка слушателей:
    > По просьбе автора переименовался.
    > Долго не думая стал xks - X Keyboard Switcher
    > http://github.com/pavlinux/xks

    Два дня я его тут трахал, так них...я и не понял, нахрена оно нужно.

    1. Для доступа к /dev/input/event* юзер должен быть root или
      создать отдельную группу и туда добавить всех юзеров кому можно,
      а устройству присваивать RW-RW-R

    2. Эта шняга работает через расширение XKB, а все знают, что переключалки XKB
    настраиваются в xorg.conf

    3. Есть утиль xinput
      

     
     
  • 4.116, anonymous (??), 03:40, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    на тебе, кстати, более вменяемый parse c code include stdio h include st... большой текст свёрнут, показать
     
     
  • 5.124, pavlinux (ok), 06:49, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > на тебе, кстати, более вменяемый parse.c:

    Добавил.

     
  • 5.129, xintrea (ok), 13:45, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > на тебе, кстати, более вменяемый parse.c:



    const char *vpos = strchr(parseline, '=');
      if (vpos++) {
        memmove(parseline, vpos, strlen(vpos)+1);
      } else {
        parseline[0] = '\0';
      }

    Вот скажи мне, горе-программист. Зачем ты так код шифруешь? Ведь можно же написать в явном виде:



    const char *vpos = strchr(parseline, '=');
      if(vpos==NULL)
       parseline[0] = '\0';
      else
       memmove(parseline, vpos, strlen(vpos)+1);

    и сразу видна логика действий.

     
     
  • 6.130, Andrey Mitrofanov (?), 14:56, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >   if (vpos++) {
    >     memmove(parseline, vpos, strlen(vpos)+1);
    > Вот скажи мне, горе-программист. Зачем ты так код шифруешь? Ведь можно же
    > написать в явном виде:

    Вот скажи мне, горе-программист№2, зачем ты инкремент потерял? %)

    >   if(vpos==NULL)
    >    memmove(parseline, vpos, strlen(vpos)+1);

     
     
  • 7.131, xintrea (ok), 15:10, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот скажи мне, горе-программист№2, зачем ты инкремент потерял? %)
    >>   if(vpos==NULL)
    >>    memmove(parseline, vpos, strlen(vpos)+1);

    Затем, что исходный код зашифрован. В одном месте происходит и инкремент, и срабатывание условия. Это нарушение всех гайдов, какие только существуют на свете. Вы же пишите программы для людей, а не для компьютеров. Вот и пишите по-человечески, чтоб человек не ошибался. Компьютеру всеравно как вы зашифруете код. Человеку - нет.

     
     
  • 8.133, anonymous (??), 20:26, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    плачу стенаю просто от плача такие же, как ты, жалуются потом в интернетах o... текст свёрнут, показать
     
     
  • 9.140, xintrea (ok), 13:53, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже понимаю, что использование трюков - это для тебя радость жизни Строго г... большой текст свёрнут, показать
     
     
  • 10.163, AHAHAC (ok), 03:39, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ты K R читал От тамошних примеров у тя моск наверно раком встанет вот так выг... большой текст свёрнут, показать
     
     
  • 11.164, anonymous (??), 03:49, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    во-первых, чукча не читатель а во-вторых, щаз тебе задвинут про 171 устойчивы... текст свёрнут, показать
     
  • 11.175, xintrea (ok), 12:30, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Хароший вопрос Идем на StackOverflow сюды http stackoverflow com questions ... большой текст свёрнут, показать
     
     
  • 12.180, anonymous (??), 14:34, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ржот ты думаешь, что твои комментарии в коде, по полезности равные 171 пр... текст свёрнут, показать
     
     
  • 13.181, xintrea (ok), 15:11, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ты и так уже неделю только этим и занимаешься Можешь продолжать, разрешаю Един... большой текст свёрнут, показать
     
     
  • 14.182, anonymous (??), 16:03, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты великолепен, да до тебя даже не доходит, что разбор твоего гуано и будет так... текст свёрнут, показать
     
  • 7.134, anonymous (??), 20:28, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а он не понял, что там за загадочные плюсики, и на всякий случай решил их выкину... большой текст свёрнут, показать
     
     
  • 8.138, xintrea (ok), 11:55, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Но в нем тоже есть плюсики Как такое могло случиться ... текст свёрнут, показать
     
     
  • 9.139, Okruzhor (ok), 13:24, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    То есть двойной плюсик считается синтаксисом завершения заголовка цикла со счётч... текст свёрнут, показать
     
     
  • 10.142, anonymous (??), 14:33, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    глядя на код, хочется спросить более глобально где так учат ... текст свёрнут, показать
     
  • 10.145, xintrea (ok), 14:48, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Какие далеко идущие выводы Вам следует почитать тему с начала, зайти на сайт ав... текст свёрнут, показать
     
     
  • 11.148, anonymous (??), 15:06, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    что не значит совершенно ничего 171 одарённых вьюношей 187 , писавших на асм... текст свёрнут, показать
     
     
  • 12.152, xintrea (ok), 15:31, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо что хоть это ты понимаешь Но вопрос был в другом - являются ли циклы и и... текст свёрнут, показать
     
  • 11.159, Okruzhor (ok), 16:12, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это элементарно , Ватсон Во-1-х из pos pos 1 следует , что инкремент не усво... большой текст свёрнут, показать
     
     
  • 12.161, xintrea (ok), 17:22, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я кстати подизассемблировал варианты с вычислением strlen на каждом шаге цикла... текст свёрнут, показать
     
     
  • 13.162, anonymous (??), 17:30, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    стандарт не читай удивляй ... текст свёрнут, показать
     
  • 11.173, Аноним (-), 07:19, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В ассемблере это есть, но в си это сделано немного иначе У некоторых RISC проце... текст свёрнут, показать
     
  • 6.136, pavlinux (ok), 06:05, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Выносим моск дальше, но с пользой - теперь в конфиге можно ставить пробелы и табы после '='



    #define likely(x) __builtin_expect(!!(x), 1) // Вместо JNZ будет JE (асм.) :)
    #define prefetch(x) __builtin_prefetch(x) // Нириальный разгон

    void getparamvalue(char *parseline) {

        const char *vpos = rawmemchr(parseline, '=');
        
        if (likely(vpos++)) {
            while (*++vpos == ' ' || *vpos == '\t') {;}
            prefetch(parseline); // Чтоб в кэше валялось
            memmove(parseline, vpos, strlen(vpos) + 1);
        } else
            parseline[0] = '\0';
    }


    И нипёт :)




    403b5d:       3c 09                   cmp    $0x9,%al
    403b5f:       74 e5                   je     403b46 <getparamvalue+0x36>
    403b61:       48 8b 45 e8             mov    -0x18(%rbp),%rax
    403b65:       0f 18 08                prefetcht0 (%rax)
    403b68:       48 8b 45 f8             mov    -0x8(%rbp),%rax
    403b6c:       48 c7 45 e0 ff ff ff    movq   $0xffffffffffffffff,-0x20(%rbp)



    YES!!! je и prefetch - есть!!! :)

     
     
  • 7.143, anonymous (??), 14:34, 20/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    будешь выпендриваться — мне придётся тогда выступить с универсальным парзером конфигов, а не тем страшилищем, что там сейчас. поимей совесть!
     
  • 4.117, anonymous (??), 03:41, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    йопт.


    if (st < parseline) { st[0] = 0; return; }


    можно убрать нафиг, конечно.
     
  • 4.118, anonymous (??), 03:44, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    нужно таки затем, что xkb не умеет переключать по отжатию, например. или по простому tap-у того же шифта, при этом не теряя «нормальных» функций шифта.

    другое дело, что хорошая идея сделана кривовато. но сама идея ничо так.

    кстати: есть какой-нибудь простой способ определить, какой из event'ов — клава? вот у меня он вообще третий, нарыл методом перебора.

     
     
  • 5.122, anonymous (??), 19:07, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > кстати: есть какой-нибудь простой способ определить, какой из event'ов — клава? вот
    > у меня он вообще третий, нарыл методом перебора.

    есть. вот такой, тупой, но часто работает:




    // don't forget to free() result!
    // returns NULL or device file name
    static char *findKeyboardDevice (void) {
      int f;
      //
      for (f = 0; f <= 31; ++f) { // the Elder says there canst be no other numbers
        char dev[32];
        int fd;
        //
        sprintf(dev, "/dev/input/event%d", f);
        fd = open(dev, O_RDONLY);
        if (fd >= 0) {
          char name[128];
          int len = ioctl(fd, EVIOCGNAME(sizeof(name)-1), name);
          close(fd);
          if (len > 0) {
            name[len] = 0;
            if (strcasestr(name, "keyboard")) return strdup(dev);
          }
        }
      }
      return NULL;
    }


    чо, сам спрашиваю, сам отвечаю. самоудовлетворение-с.

     
     
  • 6.125, pavlinux (ok), 07:02, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> кстати: есть какой-нибудь простой способ определить, какой из event'ов — клава? вот
    >> у меня он вообще третий, нарыл методом перебора.
    > есть. вот такой, тупой, но часто работает:

    Добавил :)

     
     
  • 7.126, anonymous (??), 07:20, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Добавил :)

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

    кстати, судя по main у меня закралось подозрение, что с системами контроля версий автор оригинала дружит примерно так же, как и с c/c++.

    (умильно) эх… напоминает мне меня же лет в 18. я тогда тоже считал, что «придираются к частностям» (ну, типа strlen() в цикле, незнания про strcpy() — хотя в одном месте я её видел, — незнакомством с strchr() и ты пы) только унылые старпёры. которые способны лишь на цитирование зазубреных библиотек и никак не умеют into свободный полёт фантазии. а вместо системы контроля версий у меня была утилита, которая архивирует рабочий каталог и складывает архивы в специальное место.

    (задумчиво) рудименты таки остались: до сих пор не доверяю реализации strtok() и пишу свои токенизаторы.

     
     
  • 8.127, pavlinux (ok), 07:27, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А я вот думаю как от strdup избавиться, нихачу free сувать ... текст свёрнут, показать
     
     
  • 9.128, anonymous (??), 07:44, 19/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    понаделай статиков да и выкидывай наверх ну, или привинчивай полноценный сборщи... текст свёрнут, показать
     
  • 4.123, anonymous (??), 19:11, 18/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Два дня я его тут трахал, так них...я и не понял, нахрена
    > оно нужно.

    после выкидывания 90% кода и забивания сочетаний молотковой хардкодовой магией получилась няшная переключалка по правому ctrl, не сжирающая этот самый ctrl и не реагирующая на ужержание оного более полусекунды. НЯ!

     

     ....большая нить свёрнута, показать (47)

  • 1.197, Вадим (??), 23:10, 16/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А светодиод клавиатуры оно может включать?
    И кстати, девчёнки тут есть? Кого отодрать?

    В.В. Маяковский

     
     
  • 2.198, xintrea (ok), 23:26, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А светодиод клавиатуры оно может включать?

    Посмотри видео http://www.youtube.com/watch?v=z0EA5wllB14

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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