User Tag List

Страница 25 из 101 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 1003

Тема: Эмулятор терминала типа VT52

  1. #241

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Где достать таблицу для:

    Код:
    scanCode
    
        Type: DWORD
    
        A hardware scan code for the key.
    хардварных сканкодов клавиш? Единая ли она для винды, или же для разных версий дров, клавиатур и т.д. может отличаться?

  2. #241
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #242

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Где достать таблицу для хардварных сканкодов клавиш?
    Scan Code values generated by the PC Keyboard

    Единая ли она для винды, или же для разных версий дров, клавиатур и т.д. может отличаться?
    Не зависит от операционки - эти коды генерит контроллер клавиатуры.

  4. #243

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Пока что разбираюсь, как эмулировать зажигание лампочек изнутри функции обработки хука.

    Предложенный метод не подходит:
    Код:
    // Simulate a key press
         keybd_event( VK_CAPITAL,
                      0,
                      KEYEVENTF_EXTENDEDKEY | 0,
                      0 );
    Т.к. он по идее сам и вызовет хук?

    Попытка внутри хука менять на лету параметр vkCode, scanCode, да и вообще все - на зажигание лампочки НЕ влияет. Влияет если только прервать цепочку хуков по return (1). А мне нужно не прервать, а подменить один код на другой, чтобы заставить принудительно включить или выключить лампочку.

  5. #244

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Пока что разбираюсь, как эмулировать зажигание лампочек изнутри функции обработки хука
    Хук нужен только для того, чтобы пропускать или не пропускать "лампочные" нажатия в Windows. Всё остальное должны делать обычные подпрограммы.

    Представим предельно сложную ситуацию, когда клавиша CapsLock и лампочка CapsLock никак друг с другом не связаны - нажатия проходят "мимо лампочки", а лампочка напрямую управляется из программы.

    Чтобы хук мог отличить обычные нажатия ( которые он запишет в матрице, но не пропустит в Windows ) и фейк-нажатия (которые в нужный момент генерятся программой специально, чтобы переключить лампочку, и не должны влиять на матрицу нажатых клавиш) - то чтобы хук мог их отличать - нужен всего лишь ещё один флаг для хука, который будет устанавливаться подпрограммой управления лампочкой перед посылкой фейк-нажатия и сбрасываться сразу после этого.

  6. #245

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Чтобы хук мог отличить обычные нажатия ( которые он запишет в матрице, но не пропустит в Windows ) и фейк-нажатия (которые в нужный момент генерятся программой специально, чтобы переключить лампочку, и не должны влиять на матрицу нажатых клавиш) - то чтобы хук мог их отличать - нужен всего лишь ещё один флаг для хука, который будет устанавливаться подпрограммой управления лампочкой перед посылкой фейк-нажатия и сбрасываться сразу после этого.
    Ну я так и думал.
    Просто хорошо было бы, если б были более компактные решения)

  7. #246

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    хорошо было бы, если б были более компактные решения)
    Флаг можно посылать в скан-коде - это даже лучше, т.к. настоящее нажатие точно не сможет встрять. Перед отправкой кода в Windows хук должен этот бит чистить.

  8. #247

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Флаг можно посылать в скан-коде - это даже лучше, т.к. настоящее нажатие точно не сможет встрять. Перед отправкой кода в Windows хук должен этот бит чистить.
    Как его засунуть в сканкод?

    ---------- Post added at 00:53 ---------- Previous post was at 00:48 ----------

    Если передавать в поле bScan, то не стремно ли? Считается, что этот параметр не используется, может быть он и не дойдет в каких-то версиях.

  9. #248

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как его засунуть в сканкод
    В параметр dwFlags функции keybd_event - там полно места.

    ---------- Post added 02.01.2013 at 00:03 ---------- Previous post was 01.01.2013 at 23:59 ----------

    А можно и прямо в bScan - он там как раз для того, чтобы "общаться" с хуком.

  10. #249

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Я уже нашел штатный флаг, который устанавливается при симуляции нажатия - это:

    4 Specifies whether the event was injected. The value is 1 if the event was injected; otherwise, it is 0.

  11. #250

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, в прошлом году я этот флаг тоже нашёл, но за прошедший день упел про него забыть :)

Страница 25 из 101 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. [Аукционъ] Клавиатура от терминала ЕС-7927
    от BYTEMAN в разделе Барахолка (архив)
    Ответов: 18
    Последнее: 15.05.2012, 14:50
  2. Срочно ищу монитор от терминала 15ИЭ-00-013 (от ДВК-2)
    от dk_spb в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 10.02.2012, 10:19
  3. Куплю клавиатуру КМ-035 для терминала СМ 7238
    от Kronshou в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 13.09.2010, 23:33
  4. C64 или C128 в качестве терминала под Linux
    от Vinnny в разделе Commodore 16/64/128
    Ответов: 6
    Последнее: 14.12.2007, 16:39
  5. Подгрузка pc-файла типа "codes" в эмулятор
    от maximk в разделе Эмуляторы
    Ответов: 15
    Последнее: 13.11.2006, 15:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •