1.2, Zenitur (ok), 22:47, 14/09/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Спасибо вам. А вы умеете так, что набирается слово не в той раскладке, сочетание клавиш - и уже набранное слово переводится! И ещё, вам донейты нужны?
| |
|
2.3, umbr (ok), 22:54, 14/09/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
Донейты никому не помешают, особенно тем, кто выкладвает свои проекты под GPL/BSD лицензиями.
| |
|
3.37, rshadow (ok), 11:32, 15/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
> xneur/gxneur
С половиной софта не работает. Плюс глюки с переводом текста. Но это не вина автора, просто зоопарк большой GNOME, KDE, Mozilla, Java... каждый со своими окнами по своему работают, на Х забили все давно...
| |
|
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.10, Аноним (-), 00:12, 15/09/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я правильно понял - это такой костыль, чтобы можно было переключать раскладку, допустим, через Alt+Shift и при этом юзать хоткеи Alt+Shif+some_key (штатными возможностями иксов так не сделать)?
| |
|
|
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
| |
|
|
|
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.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 и никаких коллизий не будет никогда.
Т.е. я не против проекта, но, честное слово, его ценность от меня ускользает.
| |
|
|
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?
гугл знает, я когда-то настраивал под виндой, но уже не помню название программки
| |
|
|
|
|
2.38, Михаил (??), 11:43, 15/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
В natty например включен патч на xorg от Ильи Муравьева и там можно alt+shift+somekey хоткеи и alt+shift перключалку клавиатуры.
| |
|
3.54, Аноним (-), 14:30, 15/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
>В natty например включен патч на xorg от Ильи Муравьева
Кстати, а почему этот патч не принят в мейнстрим Xorg?
| |
|
4.86, Михаил (??), 08:49, 16/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
Потомучто они там угорели по своим стандартам и хрен чего поменяют до наступления xkb2 (т.е. никогда)
| |
|
|
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.68, anonymous (??), 15:57, 15/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
> одном а написать другое. Поэтому, чтоб не допускать ошибок, пишу sprintf().
ага. sprintf(dest, src). подсказать, какой кайф будет, если в src встретятся символы форматирования?
> Когда в c++ исчезнет std::wstring и останется один std::string, поддерживающий любые символы
> в любой кодировке, вот тогда std::string понравится.
вообще-то, std::string ничем не хуже сишного char, который используется сейчас. кроме того, что нет проблемы с размером буфера и есть куча ништяковых методов. если ты уже решил на c++ писать -- то пользуйся тем, что там дают, зачем городить свои велосипеды, у которых, к тому же, колёса восьмёрками?
| |
|
|
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кая и англайская. Как жить-то?
> :)
> Это ты так эффективно троллишь или на самом деле так?
А почему нет, если надо общаться с этой братией? Отдельная клава с раскладкой удобнее запоминания на какой клавише какой символ.
| |
|
|
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 костыля нет. это — не «переносимый софт», это «обкостыленый софт».
если сделать эмуль такой архитектуры и собрать под него юзерлэнд… нет, я даже издалека это видеть не желаю.
| |
|
|
|
|
|
3.28, Аноним (28), 09:10, 15/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
Вот Вы же всё знаете... Подскажите, пжлст, существует ли такой индикатор раскладки для Гнома, который бы мог показывать текущую раскладку поверх окна приложения, развёрнутого на весь экран? Допустим, набираю я текст в geany. Экранчик у моего бука маленький. Я нажимаю F11 и перестаю видеть гномовский индикатор раскладки. Теперь я вижу больше текста, что хорошо, но не вижу раскладки, что очень неудобно. Решаемо?
| |
|
|
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 назначать не пробовал, поскольку оно бывает нужно по прямому
> назначению.
давно так не смеялся :)
| |
|
|
|
|
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 [^] [^^] [^^^] [ответить]
| +/– |
Не знал. Спасибо. Вот это флажок -- он поверх всех окон будет? А с Гномом оно работать не может?
| |
|
|
5.78, sabitov (ok), 20:10, 15/09/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> вот нахера тебе всё время видеть этот индикатор раскладки?
> плохо с памятью и сложно запомнить набирал ты до этого русский текст
> или английский?
> или после набора пары символов ты не можешь въехать какой это язык?
Ммм, это если у вас переключение раскладок "глобально" работает, а ежели для каждого окна отдельно, то таки да, сложно.
| |
|
|
|
|
|
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.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. Потому что вашего переключатора раскладки я не вижу что-то. Ни плохого, ни хорошего. Плохой - лучше чем никакой, не так ли? :)
| |
|
|
9.170, Аноним (-), 07:08, 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 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Кланяюсь в ноги автору. Как мен давно надо было так и накрутил. Огромное нечеловеческое СПАСИБО!
| |
|
2.172, Аноним (-), 07:11, 21/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Низкоуровневый переключатель клавиатуры - тумблер!
А что, это идея :) тумблер и микроконтроллер в USB, прикинуться HIDом - и вот у вас аппаратный тумблер для раскладки, лол :))))
| |
|
|
|
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 пишете? Или где еще нет проверки орфографии?
опечатался, не посмотрел. бывает.
> О какой безопасности речь в такой помойке?
поясню. «помойка» тут не при чём. а вот «интеграция» поделки с кучей явных переполнений буферов в иксы, которые работают, на минуточку, под рутом — это хардкорный экстрим.
| |
|
|
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 - игнорируется, по ходу.
> Дальше лень проверять. Оригинал пока лучше пашет.
Вот это наброс! кончайте позориться, давайте уже сделайте нармально. в оригинале все пашет как положено, но хочетса максимум безопасности! допилите но не разламывайте, как дети прям...
| |
|
|
|
|
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
| |
|
|
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);
Затем, что исходный код зашифрован. В одном месте происходит и инкремент, и срабатывание условия. Это нарушение всех гайдов, какие только существуют на свете. Вы же пишите программы для людей, а не для компьютеров. Вот и пишите по-человечески, чтоб человек не ошибался. Компьютеру всеравно как вы зашифруете код. Человеку - нет.
| |
|
|
9.140, xintrea (ok), 13:53, 20/09/2011 [^] [^^] [^^^] [ответить] | +/– | Я тоже понимаю, что использование трюков - это для тебя радость жизни Строго г... большой текст свёрнут, показать | |
|
10.163, AHAHAC (ok), 03:39, 21/09/2011 [^] [^^] [^^^] [ответить] | +/– | ты K R читал От тамошних примеров у тя моск наверно раком встанет вот так выг... большой текст свёрнут, показать | |
|
|
|
|
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.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() и пишу свои токенизаторы.
| |
|
|
|
4.123, anonymous (??), 19:11, 18/09/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Два дня я его тут трахал, так них...я и не понял, нахрена
> оно нужно.
после выкидывания 90% кода и забивания сочетаний молотковой хардкодовой магией получилась няшная переключалка по правому ctrl, не сжирающая этот самый ctrl и не реагирующая на ужержание оного более полусекунды. НЯ!
| |
|
|
|
1.197, Вадим (??), 23:10, 16/12/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
А светодиод клавиатуры оно может включать?
И кстати, девчёнки тут есть? Кого отодрать?
В.В. Маяковский
| |
|