Page 1 of 2

ZKEY - эмулятор клавиатуры

Posted: Fri Jun 27, 2008 3:34 pm
by Asper
Вот, что получилось:
http://narod.ru/disk/1464301000/ZKEY%200.3.rar.html
и код, если кому интересно:
http://narod.ru/disk/1464377000/ZKEY%20 ... e.rar.html

Посылает скан коды нажатых(down) клавиш приложениям. Чтобы посылать сообщение нужному окну, нужно это окно активировать, а потом активировать ZKEY.

Re: Эмулятор клавиатуры

Posted: Thu Jul 24, 2008 10:18 pm
by Leency
Мне понравилось, только
1. ИМХО Шифт должен западать, а все буквы при этом ставать большими, а вместо цифр появляться символы.
2. Можно читать язык и на клавишах отображать соответствующие буквы, тоесть
язык сейчас русский - на кнопках только русские буквы, переключили на англ. - только англ. Так будет проще ориентироваться.

Re: Эмулятор клавиатуры

Posted: Sat Jul 26, 2008 11:32 am
by Asper
Leency
Очень рад что понравилось. Как раз работаю над 1 и 2, в новой версии будет. :)

Re: Эмулятор клавиатуры

Posted: Mon Jul 28, 2008 1:07 pm
by Asper
По-моему функцию 72.1 надо подправить, так чтобы при нажатии контрольной клавиши не просто добавлялся скан код этой клавиши в буфер, но и обновлялась глобальная переменная ядра kb_state, объявленная в keyboard.inc и используемая функцией 66.3 для получения состояния конрольных клавиш. Функцию 66.3 используют некоторые приложения (например TinyPad).
Если не внести изменение в 72.1 то о залипании контрольных клавиш у ZKEY можно забыть. :(
Поэтому просьба дописать в 72.1 что-то вроде:

Code: Select all

.sendkey:
        pushf
        cli
        movzx   eax, byte [KEY_COUNT]
        cmp     al, 120
        jae     .overflow
        inc     eax
        mov     [KEY_COUNT], al
        mov     [KEY_COUNT+eax], cl
; Asper [
        cmp     cl, 0x2A   ; LSHIFT
        jne       @f
        or	     [kb_state], 0000000000000001b
      @@:
        cmp     cl, 0x36   ; RSHIFT
        jne       @f
        or	     [kb_state], 0000000000000010b
      @@:
        ; и т. д.
; ] Asper 
        jmp     .ok
ну или что-то получше. :)

Re: Эмулятор клавиатуры

Posted: Mon Jul 28, 2008 3:59 pm
by Asper
Да и ещё, исходники ZKEY на текущий момент. Добавлен код для отправки ASCII кодов приложениям (т.к. некоторые приложения считывают именно их, а не скан коды), индикаторы Num, Caps, Scroll теперь загораются при нажатии соответствующих кнопок на клавиатуре.

Ссылка: http://narod.ru/disk/1705216000/ZKEY0.3%2B.rar.html

Re: Эмулятор клавиатуры

Posted: Fri Aug 08, 2008 7:45 am
by Asper
Не дождавшись ответа выкладываю новую версию программы 0.4. Частично выполнены пункты 1 и 2 указанные выше.
Ссылка
http://narod.ru/disk/1905013000/ZKEY%2B4.rar.html

Re: Эмулятор клавиатуры

Posted: Sat Dec 13, 2008 2:59 pm
by Leency
Программа приводит к 100%-ой загрузке процессора.

Re: Эмулятор клавиатуры

Posted: Sat Dec 13, 2008 3:39 pm
by Asper
Похоже я знаю почему. Но исправить смогу не раньше понедельника. На выходные я уезжаю.

Re: Эмулятор клавиатуры

Posted: Tue Dec 16, 2008 12:56 pm
by Asper

Re: Эмулятор клавиатуры

Posted: Tue Aug 25, 2009 9:47 am
by Asper
Версия 0.5
Багфиксы и оптимизация
Исправлен серьёзный баг - в режиме отправки ASCII кодов некоторые кнопки (Ins, Hm, Pup, Del, End, Pdn, ^, < , > , v, Ent и т.д.) отправляли неверный код из-за лишнего jmp.

Re: Эмулятор клавиатуры

Posted: Mon Sep 07, 2009 5:12 pm
by chaykin
полезная прога, как допишешь пиши дрова для сенсорных экранов :D

Re: Эмулятор клавиатуры

Posted: Mon Sep 07, 2009 5:38 pm
by Mario
chaykin wrote:как допишешь пиши дрова для сенсорных экранов
Прежде чем писать это может стоило задуматся, что:
1) Написание приложения и написание драйвера немного разные вещи.
2) Для того чтобы писать драйвер для чего либо надо иметь: подробное описание портов и команд, банально - само устройств или его эмитатор в виде кода.
3) Указание автору, что он должен делать не является мотивирующим фактором.

Re: Эмулятор клавиатуры

Posted: Mon Sep 07, 2009 6:12 pm
by chaykin
Сообщение типа "прикольная прога" было бы суховато а про планшетные пк была шутка но в каждой шутке есть доля правды или желание видеть шутку в жизни

Re: Эмулятор клавиатуры

Posted: Mon Sep 07, 2009 8:58 pm
by Mario
chaykin wrote:в каждой шутке есть доля правды или желание видеть шутку в жизни
Хотелки принято размещать в теме - Что я хочу увидеть в Колибри завтра.... и не нужно думать что они игнорируются, некоторые выполняются по мере наличия возможностей и человеко-часов.

Re: Эмулятор клавиатуры

Posted: Thu Sep 10, 2009 11:17 am
by Asper
Я рад, что программа понравилась :). Кое-какими дровами я сейчас занимаюсь, но это не касается сенсорных экранов, т. к. верно заметил Mario необходимо само устройство, которого у меня к сожалению нет.