MOUSEMUL - эмуляция мыши
-
Следует ли реализовать эмуляцию мыши правой группой цифровых клавиш на клавиатуре при включенном NumLock? лично я считаю что это было бы весьма оправданно.. (клавиши + и 0 по причине их увеличенного размера можно эмулировать как левую и правую клавиши мыши соответственно, цифру 5 - как центральную, дробь и звездочку - как колесико мыши) возможных направлений (8) на мой взгляд вполне достаточно. Как вам идея? Мне кажется это решается путем изменения "мышиных" системных функций, в виде дополнительной проверки нажатости NumLock и соответственных клавиш.
Мышь уже можно эмулировать при помощи клавы. Если не ошибаюсь, то alt+стрелка - движение, alt+enter - левый клик. Если очень нужно управлять именно с цифровой клавиатуры, то смотришь существующий код, отвечающий за обработку этих сочетаний, и делаешь по аналогии, чтобы обрабатывались ещё и цифровые стрелки без alt. У цифровых стрелок и у обычных стрелок разные скан коды. Их можно выяснить экспериментально.
Удобные для пользователя программы должны управляться только с помощью клавиатуры. Проголосовал за "нет смысла".
Sаsh
я только что ребутнулся в Колибри, что на ядре 608, ничего подобного не обнаружил, увы. да к тому же четырех направлений и одной клавиши маловато
Всем
я понимаю, что тем у кого работает мышка это не очень нужно =) однако по соотношению польза+поенциальная польза/трудность реализации+время реализации это хорошая идея.. несмотря на то что я утверждаю что реализуется это не очень сложно и не очень долго, сам за это не берусь, ибо в Колибри понимаю, но вот в ядре ея - нуль =) в общем не справлюсь (уже пытался туда лазать)..
я только что ребутнулся в Колибри, что на ядре 608, ничего подобного не обнаружил, увы. да к тому же четырех направлений и одной клавиши маловато
Всем
я понимаю, что тем у кого работает мышка это не очень нужно =) однако по соотношению польза+поенциальная польза/трудность реализации+время реализации это хорошая идея.. несмотря на то что я утверждаю что реализуется это не очень сложно и не очень долго, сам за это не берусь, ибо в Колибри понимаю, но вот в ядре ея - нуль =) в общем не справлюсь (уже пытался туда лазать)..
Freeman
согласен с тобой, это был бы очень хороший вариант.. однако с неработающей мышью ни одну программу (кроме CPU) запустить невозможно =)
тогда следует реализовать фокус на иконках, и меню, вылазающее по кнопке "start" на клаве(где логотип виндов изображен), а также фокус на элементах этого самого меню.. считайте это еще одним вариантом голосования =)
согласен с тобой, это был бы очень хороший вариант.. однако с неработающей мышью ни одну программу (кроме CPU) запустить невозможно =)
тогда следует реализовать фокус на иконках, и меню, вылазающее по кнопке "start" на клаве(где логотип виндов изображен), а также фокус на элементах этого самого меню.. считайте это еще одним вариантом голосования =)
не могли бы голосующие аргументировать свои голоса?.. а то мнений много, а вариантов ответа всего 4
Gluk
Эмуляцию мыши вполне можно реализовать на уровне приложения и запускать при необходимости с помощью панели, через горячую комбинацию каких нибудь клавиш.
Эта возможность потерлась при реализации параллельной поддержки нескольких мышей. Старый алгоритм нереализуем в новой модели обработки мышей.я только что ребутнулся в Колибри, что на ядре 608, ничего подобного не обнаружил,
Почитай документацию для начала, файл Hot_Keys.txt:и меню, вылазающее по кнопке "start" на клаве
Похоже, действительно документацию мы программисты пишем исключительно для себя, раз ее никто не читает...Следующие "горячие" комбинации клавиш используются в системе:
(Нумерация по времени появления в системе)
1) Ctrl + Alt + Del запуск приложения CPU (диспетчер процессов), это единственная комбинация, поддержанная на уровне ядра, все остальное реализовано за счет приложения @PANEL.
2) Ctrl + Shift - переключение раскладки клавиатуры.
3) Alt + Win - запуск приложения MENU.
4) Alt + Ctrl + F12 - запуск приложения END.
5) Alt + F4 - завершение активного приложения.
6) Alt + Tab - переключение на следующее (в оконном стеке) окно
7) Alt + Shift + Tab - переключение на предыдущее (в оконном стеке) окно
Эмуляцию мыши вполне можно реализовать на уровне приложения и запускать при необходимости с помощью панели, через горячую комбинацию каких нибудь клавиш.
Реально.
1. нужно вынести драйвер клавиатуры из ядра или дать возможность подменять ядерный драйвер внешним.
2. дополнить текущий драйвер, который будет управлять мышью (в ядре экспортируемая proc set_mouse_data stdcall, BtnState:dword, XMoving:dword, YMoving:dword, VScroll:dword, HScroll:dword) и сохранить как новый
3. теперь загружаешь свой драйвер и ты можешь управлять мышой
Но зачем? хотя лишним не будет....
1. нужно вынести драйвер клавиатуры из ядра или дать возможность подменять ядерный драйвер внешним.
2. дополнить текущий драйвер, который будет управлять мышью (в ядре экспортируемая proc set_mouse_data stdcall, BtnState:dword, XMoving:dword, YMoving:dword, VScroll:dword, HScroll:dword) и сохранить как новый
3. теперь загружаешь свой драйвер и ты можешь управлять мышой
Но зачем? хотя лишним не будет....
Mario79
перед сном мне пришло это в голову) тогда давайте я этим займусь сегодня вечером (хотя ИМХО на уровне ядра было бы правильнее), надеюсь никто не будет против?) // вся документация была мною некогда прочитана, но жернова жизни измололи этот участок моей памяти) однако насколько я помню, навигация по меню без мыши все-таки не работает?.. впрочем, не сегодня - завтра этот вопрос должен отпасть, если у меня все получится)Эмуляцию мыши вполне можно реализовать на уровне приложения
Gluk
Нет, все работает, причем давно.однако насколько я помню, навигация по меню без мыши все-таки не работает?
Mario79
да, я уже проверил и убедился в этом =)Нет, все работает, причем давно.
ааа.. я написал эмулятор, но чуть ошибся в расчетах, гад повесил систему, все труды насмарку =(
2) положение мыши то я допустим сделаю на уровне приложения.. а что с кликами?
3) приложенгие окна не имеет, но при работе рисует подозрительную полосочку слева от экрана.. зато индикатор работы удобный =)
2) положение мыши то я допустим сделаю на уровне приложения.. а что с кликами?
3) приложенгие окна не имеет, но при работе рисует подозрительную полосочку слева от экрана.. зато индикатор работы удобный =)
(рисует самовольно..)
Sаsh
![Razz :P](./images/smilies/icon_razz.gif)
а вот и нетУ цифровых стрелок и у обычных стрелок разные скан коды.
![Razz :P](./images/smilies/icon_razz.gif)
только стрелки еще ext отправляют, цифры одинаковые..
Who is online
Users browsing this forum: No registered users and 11 guests