Комментарии 32
Если всё равно это только под Windows, почему не использовать AutoHotkey?
Был топик на тему: habrahabr.ru/blogs/soft/130379/ (там чуть другая доработка раскладки, но переделать под себя — не проблема)
А вот комментарий с более компактной записью: habrahabr.ru/blogs/soft/130379/#comment_4338231
Был топик на тему: habrahabr.ru/blogs/soft/130379/ (там чуть другая доработка раскладки, но переделать под себя — не проблема)
А вот комментарий с более компактной записью: habrahabr.ru/blogs/soft/130379/#comment_4338231
+3
Про мышь — у меня был спидометр для мыши ещё в 98 винде, так что идея не нова. Название, правда, уже не вспомню, но умела она считать расстояние, среднюю/текущую скорость, количество кликов и ещё что-то в том же духе.
0
Да, про пост-то я и забыл написать!
По сути, этот пост — демонстрация работы с WinApi и хуками на питоне, а сама постановка задачи не столь интересна.
По сути, этот пост — демонстрация работы с WinApi и хуками на питоне, а сама постановка задачи не столь интересна.
0
а Fn+стрелки не работает? У меня на mini 2140 такая клавиатура
www.3dnews.ru/_imgdata/img/2009/06/04/126539.jpg
думаю должно работать
www.3dnews.ru/_imgdata/img/2009/06/04/126539.jpg
думаю должно работать
+3
Когда-то пользовался вот таким: SetWindowsHookEx + CallNextHookEx
0
И вместо alt можно опять же заюзать или Fn или Super ([Win]). Тогда не будет проблемы с меню приложения.
0
Fn, если я не ошибаюсь, не генерирует событий сама по себе, только совместно с «нужными» клавишами.
+1
Fn действительно сама по себе не генерирует сообщений, а Win генерирует только «key down» (как ни странно).
Возможный выход — попытаться в момент нажатия стрелки проверить, нажата ли Win через GetKeyboardState(). Нужно посмотреть, доступна ли эта функция в pywin32.
Возможный выход — попытаться в момент нажатия стрелки проверить, нажата ли Win через GetKeyboardState(). Нужно посмотреть, доступна ли эта функция в pywin32.
0
Слово «windows» в начале упоминать надо. Если бы была более приличная ОС, я бы показал более приличные методы реализовывать этот же функционал.
-4
Насчет «приличности» я не слишком разделяю Ваши взгляды. Но, тем не менее, никогда не поздно написать свою статью — благо, Хабр позволяет :)
+1
Amarao! Для более приличной ОС я бы не отказался услышать рецепт. Дело в том, что для линукса я просто сваял свою раскладку с Level3Shift'ом на CapsLock'е и стрелками на hjkl. Но при таком решении отпадает возможность использовать капс для переключения раскладки, а это удобно и привычно. Если вы с этим справились, здорово было бы узнать как.
0
Именно с этой задачей я не сталкивался, благо, thinkpad'овские клавиатуры имеют на борту все нужные кнопки. В своё время вешал нужные команды на кнопки с помощью acpi.
0
Нужные кнопки на месте. Просто удобнее не бегать правой рукой между курсором и буквами, а оставаться на месте.
ACPI… Не знаю. А оно до xkb работает, или после? Просто после xkb кнопка — либо модификатор, либо кнопка и никак не обе вместе. Оттуда и проблемы.
ACPI… Не знаю. А оно до xkb работает, или после? Просто после xkb кнопка — либо модификатор, либо кнопка и никак не обе вместе. Оттуда и проблемы.
0
Хм… Что-то я ступил: должно быть до. Ведь acpi и без иксов работает…
Спаибо за наводку, попробую поковырять!
Спаибо за наводку, попробую поковырять!
0
Для xserver давно уже существуют xbindkeys и xmodmap, с помощью них можно переназначить любые клавиши (из тех, которые сама система может видеть) на что угодно да еще и запуск нужных программ сделать. Статей полно.
+1
Да, даже движок «zoom» кошерной клавиатуры одной очень некошерной фирмы можно прикрутить.
Вообще, гибкость — это хорошо.
Вообще, гибкость — это хорошо.
0
Благодарю! Обязательно посмотрю их поподробнее. Это как минимум должно быть удобней, чем раскладку для xkb писать.
Хотя я пока всё же сомневаюсь, что оно сможет сделать то, что хотелось бы поиметь в идеале:
CapsLock + j = «вниз» (по нажатию j)
один CapsLock = переключение раскладок (по отпусканию)
Хотя я пока всё же сомневаюсь, что оно сможет сделать то, что хотелось бы поиметь в идеале:
CapsLock + j = «вниз» (по нажатию j)
один CapsLock = переключение раскладок (по отпусканию)
0
Не уверен, что такое возможно сделать с помощью Xmodmap. Советую заглянуть на LOR Wiki ( www.linux.org.ru/wiki ), там может быть совет, как сделать подобное. Либо спросить на форуме того-же сайта.
0
>(приняв, например, 1 пиксель ~ 1 мм)
Не получится так. Перемещение курсора на экране зависит от скорости перемещения мышки. Абсолютное изменение координат устройства в Windows, скорее всего, можно получить, только напрямую работая с драйвером. Или даже только написав свой драйвер. Ну, мне так кажется.
Не получится так. Перемещение курсора на экране зависит от скорости перемещения мышки. Абсолютное изменение координат устройства в Windows, скорее всего, можно получить, только напрямую работая с драйвером. Или даже только написав свой драйвер. Ну, мне так кажется.
0
Можно сделать раскладку, в которой с нажатым правым Alt (AltGr) некоторые клавиши становятся клавишами управления курсором. Тогда даже не нужно снимать правую руки со стартовой позиции печати ([a][s][d][f][ ][ ][j][k][l][;]), чтобы передвинуть курсор.
Собственно я так и работаю уже давно в Linux, не знаю правда, насколько это будет работать в Windows, скорее всего проблем не будет. Использую «Miniguru» схему: [i][j][k][l] — стрелки, [u][o] — Home/End, [p][;] — PgUp/PgDn, [m] — Delete, [,] — Insert. При желании можно сделать как в VIM — [h][j][k][l].
![](https://habrastorage.org/r/w1560/getpro/habr/comment_images/827/677/65b/82767765b05c58e64a11b9f323549b78.png)
Собственно я так и работаю уже давно в Linux, не знаю правда, насколько это будет работать в Windows, скорее всего проблем не будет. Использую «Miniguru» схему: [i][j][k][l] — стрелки, [u][o] — Home/End, [p][;] — PgUp/PgDn, [m] — Delete, [,] — Insert. При желании можно сделать как в VIM — [h][j][k][l].
![](https://habrastorage.org/getpro/habr/comment_images/827/677/65b/82767765b05c58e64a11b9f323549b78.png)
+1
Ibnteo, тогда к вам тот же вопрос, что я выше Amarao задавал: как это реализовано? Своя раскладка для xkb или ещё что-то?
+1
Спасибо. Коммент писал ещё не проснувшись, извините, ссылку не заметил :)
Тогда этот как раз тот, который применил я, жаль.
Напишу уж тогда кстати, как свои файлы подключал, может пригодится:
файл /usr/share/X11/symbols/capsext
А это надо добавить в .xinitrc:
setxkbmap -compat «complete+ledscroll(group_lock)» -symbols «pc+capsext(us_capsext)+capsext(ru_capsext):2+inet(evdev)»
Тогда этот как раз тот, который применил я, жаль.
Напишу уж тогда кстати, как свои файлы подключал, может пригодится:
файл /usr/share/X11/symbols/capsext
А это надо добавить в .xinitrc:
setxkbmap -compat «complete+ledscroll(group_lock)» -symbols «pc+capsext(us_capsext)+capsext(ru_capsext):2+inet(evdev)»
+1
А что дальше происходит с этим скриптом? Его надо во что-то компилировать или попросту запускаете .py при старте системы?
0
При помощи py2exe билдится приложение, которому для запуска питон не нужен. Делается это достаточно просто — на сайте (ссылка в статье) есть подробное описание.
Приложение собирал так, чтобы консоль сразу пряталась при запуске, и все это — в Run раздел реестра. При запуске системы оно запускается и тут же прячется — отключить (в крайнем случае) можно через процессы.
Приложение собирал так, чтобы консоль сразу пряталась при запуске, и все это — в Run раздел реестра. При запуске системы оно запускается и тут же прячется — отключить (в крайнем случае) можно через процессы.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Симуляция нажатий Home, End, PgUp, PgDown