User Tag List

Страница 40 из 112 ПерваяПервая ... 363738394041424344 ... ПоследняяПоследняя
Показано с 391 по 400 из 1115

Тема: Эмулятор УКНЦ - UKNCBTL

  1. #391

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    пока пусть останется, как есть.
    Если нужно отличать нажатие <Enter> и <NumPadEnter> - это можно сделать, анализируя скан-коды.

    В Windows невозможно различить нажатие <Enter> и <NumPadEnter>, используя только GetKeyboardState().

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

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

  3. #392

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделал различие <Enter> и <NumpadEnter> через WM_KEYDOWN и WM_KEYUP. С хуками довольно много мороки, они должны быть в DLL. Вроде работает. Но Windows довольно странно это обрабатывает. Нажмем <Enter> и не отжимая ее жмем <NumpadEnter>. Держим обе клавиши. Эмулятор соответственно получает последовательно коды 0153 и 0166. Отжимаем <Enter>, получаем код 0213. Снова нажимаем <Enter>, соответственно получаем код 0153. А вот дальше самое интересное: отжимаем <Enter>, <NumpadEnter> у нас так и нажат, получаем последовательно коды 0213 и 0206, словно отжали обе клавиши, хотя <NumpadEnter> до сих пор нажат. Функция GetKeyboardState в позиции <Enter>-а говорит, что ни один <Enter> не нажат, хотя <NumpadEnter> так и остается в нажатом состоянии.

    Коды клавиатуры можно посмотреть в программе SCAN.SAV на диске sysimage.dsk.

    P.S. Интересно всё-таки, а чем руководствовалась Microsoft, когда через GetKeyboardState сделала различие Shift-ов, Ctrl-ей и Alt-ов, а вот Enter-ов не удосужилась.

    БОЛЬШОЕ СПАСИБО всем за консультации и помощь !!!

  4. #393

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Сама клавиша западёт в автоповтор в драйвере системного ПЗУ
    Нет - только не это, снова
    Цитата Сообщение от Alex_K Посмотреть сообщение
    Спасибо всем за советы! Но пока пусть останется, как есть.
    Да, по крайней мере так можно спокойно и в системе работать и в игрушки играть!

  5. #394

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    С хуками довольно много мороки, они должны быть в DLL.
    Относительно хуков есть два замечания:

    1. Чаще всего хуки вообще не нужны - достаточно обрабатывать *KEYDOWN и *KEYUP.

    2. Хуки не должны быть в DLL.

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

    Строчка установки хука в программе выглядит так:
    Код:
    HHOOK g_hHookKbdLL = NULL; // hook handle
    
    if( !g_hHookKbdLL ) 
    { 
         g_hHookKbdLL = SetWindowsHookEx(
                                           WH_KEYBOARD_LL,
                                           MyTaskKeyHookLL, 
                                           ghInstance, 
                                           0 
                                        );
    }

  6. #395

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Размапил все клавиши, собственно они все есть. Пока только две таблицы - РУС и ЛАТ. Задействовал основное поле, теперь оба Shift-а одинаковые, АЛФ - это контекстное меню, LeftCtrl -УПР, RightCtrl - ГРАФ, CapsLock - ФИКС. С буквами и цифрами вроде и так ясно. Теперь другие клавиши, если есть различие в таблицах, то сперва ЛАТ, затем РУС:
    Код:
    <`~> - <;+>
    <-_> - <-=>
    <=+> - <^~> <,<>
    <\|> - <\|> <.>>
    <;:> - <:*> <Жж>
    <'"> - <@`> <Ээ>
    <,<> - <,<> <Бб>
    <.>> - <.>> <Юю>
    </?> - </?>
    <Home> - <_> <:*>
    <Insert> - СБРОС
    <PageUp> - СТОП
    <Delete> - ПОМ
    <End> - УСТ
    <PageDown> - ИСП
    Вложения Вложения

  7. #396

    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    781
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    АЛФ - это контекстное меню
    У меня при нажатии на эту клавишу даже щелчка нет.

    Вообще интересный вариант. Только для ноутбуков без расширенной клавиатуры клавиши СБРОС, СТОП, ПОМ, УСТ и ИСП - ?
    А вот эти символы & ( ) надо было как на РС сделать.

  8. #397

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    У меня при нажатии на эту клавишу даже щелчка нет.
    Странно. У меня как на десктопе (XP), так и на нетбуке (семёрка), работает.
    Цитата Сообщение от Vamos Посмотреть сообщение
    Вообще интересный вариант. Только для ноутбуков без расширенной клавиатуры клавиши СБРОС, СТОП, ПОМ, УСТ и ИСП - ?
    А вот эти символы & ( ) надо было как на РС сделать.
    У меня на нетбуке они (Home, End, ...) есть. Неудобно конечно, но есть идея запараллелить на F6-F12 (без F10). А по поводу & ( ) - написал же, что реализовано только две раскладки -РУС и ЛАТ, нет пока раскладок нижнего регистра. Кстати, а что же в таком случае подставлять на Shift+6? Символы ":" и "^" нельзя - они вводятся на верхнем регистре.

  9. #398

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    АЛФ - это контекстное меню
    Может Alt?

  10. #399

    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    781
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Странно. У меня как на десктопе (XP), так и на нетбуке (семёрка), работает.
    У меня не работает даже на виртуальной эмулятора, кликаю кнопкой мыши и тишина.

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Неудобно конечно, но есть идея запараллелить на F6-F12 (без F10)
    Может вот так:
    ПОМ - F7
    УСТ - F8
    ИСП - F9
    СБРОС - F11
    СТОП -F12
    К1...К5 - F1...F5

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А по поводу & ( ) - написал же, что реализовано только две раскладки -РУС и ЛАТ, нет пока раскладок нижнего регистра.
    Алфавит в нижнем регистре работает, символы !#$% тоже на месте, нужно только сдвинуть на одну клавишу в право символы &*().
    И сделать еще только одну инверсную таблицу для символов у которых регистр отличается от РС, вот сейчас ":" работает наоборот.

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Кстати, а что же в таком случае подставлять на Shift+6? Символы ":" и "^" нельзя - они вводятся на верхнем регистре.
    Можно ничего не подставлять или символ надчеркивания который в РС отсутствует он как раз в нижнем регистре.

    Цитата Сообщение от Titus Посмотреть сообщение
    Может Alt?
    С этим все согласны кроме Alex_K.
    Последний раз редактировалось Vamos; 19.10.2011 в 12:42.

  11. #400

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

    По умолчанию

    Цитата Сообщение от Vamos Посмотреть сообщение
    С этим все согласны кроме Alex_K.
    Я имел ввиду, может вы ошиблись? Не Алф, a Alt имелось ввиду выше? Ведь на PC-клавиатуре такой клавиши нет.

Страница 40 из 112 ПерваяПервая ... 363738394041424344 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор УКНЦ - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 1198
    Последнее: 07.05.2025, 13:34
  2. Ответов: 247
    Последнее: 17.11.2024, 07:55
  3. Эмулятор УКНЦ на JavaScript
    от nzeemin в разделе Эмуляторы отечественных компьютеров
    Ответов: 4
    Последнее: 27.04.2021, 14:26
  4. УКНЦ и Gotec Flash Floppy эмулятор
    от Ynicky в разделе ДВК, УКНЦ
    Ответов: 10
    Последнее: 10.09.2019, 04:34
  5. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27

Ваши права

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