User Tag List

Страница 54 из 120 ПерваяПервая ... 505152535455565758 ... ПоследняяПоследняя
Показано с 531 по 540 из 1199

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

  1. #531

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    У меня есть ощущение, что эта функция Windows иногда глючит.

    В любом случае, при реализации работы с клавиатурой через разбор WM_KEYDOWN / WM_KEYUP - описанных проблем не возникает.
    Но не позволяет отличить Enter основной от того, что на дополнительной клавиатуре?

  2. #532

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Но не позволяет отличить Enter основной от того, что на дополнительной клавиатуре?
    В lParam передаётся много полезной инфы:

    lParam Bits Meaning

    0-15 The repeat count for the current message. The value is the number of times the keystroke is autorepeated as a result of the user holding down the key. If the keystroke is held long enough, multiple messages are sent. However, the repeat count is not cumulative.

    16-23 The scan code. The value depends on the OEM.

    24 Indicates whether the key is an extended key, such as the right-hand ALT and CTRL keys that appear on an enhanced 101- or 102-key keyboard. The value is 1 if it is an extended key; otherwise, it is 0.

    25-28 Reserved; do not use.

    29 The context code. The value is always 0 for a WM_KEYDOWN message.

    30 The previous key state. The value is 1 if the key is down before the message is sent, or it is zero if the key is up.

    31 The transition state. The value is always 0 for a WM_KEYDOWN message

  3. #533

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В lParam передаётся много полезной инфы:
    Это все, конечно, интересно, но на вопрос, различает ли оно точно Enter основной и дополнительной клавиатуры, ты не ответил)

    Ксати, интересует так же вопрос, как при активном окне отключить влияние системных клавиш (Alt, CapsLock, Num Lock, Scroll Lock, F10) на лампочки, режимы ввода и системные функции.
    А так же, как самому загорать и потухать лампочки на клаве.

  4. #534

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

    Post

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

    Можно сделать так:
    Код:
    		case WM_SYSKEYDOWN:
    		case WM_KEYDOWN:
    		{
    			int uScan = HIWORD( lParam );
    			uScan &= 0x1FF;
    И затем добавить вывод значения переменной uScan. Потом понажимать на клавиши и всё станет ясно.

    Цитата Сообщение от Titus Посмотреть сообщение
    Ксати, интересует так же вопрос, как при активном окне отключить влияние системных клавиш (Alt, CapsLock, Num Lock, Scroll Lock, F10) на лампочки, режимы ввода и системные функции.
    Есть разница.

    Для Alt и F10 достаточно не передавать управление из WM_SYSKEYDOWN в DefWindowProc.

    Остальное нереально сложно. Нужно устанавливать глобальный хук клавиатуры, а это влечёт гору проблем. Кроме того, многие антивирусы распознают установку глобального хука клавиатуры, как вредоносную активность.

    Цитата Сообщение от Titus Посмотреть сообщение
    как самому загорать и потухать лампочки на клаве.
    Нужно симулировать нажатие клавиш:

    Код:
    void SetScrollLock( bool bState )
    {
    	BYTE keyState[256];
    
    	GetKeyboardState((LPBYTE)&keyState);
    	if( (bState && !(keyState[VK_SCROLL] & 1)) ||
    	  ( !bState &&  (keyState[VK_SCROLL] & 1)) )
    	{
    	// Simulate a key press
    	 keybd_event( VK_SCROLL,
    				  0,
    				  KEYEVENTF_EXTENDEDKEY | 0,
    				  0 );
    
    	// Simulate a key release
    	 keybd_event( VK_SCROLL,
    				  0,
    				  KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
    				  0);
    	}
    }
    Последний раз редактировалось Patron; 16.04.2012 в 20:56.

  5. #535

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Остальное нереально сложно. Нужно устанавливать глобальный хук клавиатуры, а это влечёт гору проблем. Кроме того, многие антивирусы распознают установку глобального хука клавиатуры, как вредоносную активность.

    Нужно симулировать нажатие клавиш
    Эмулятор Амиги очень ловко это все делает. На него антивирус тоже ругается?

  6. #536

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Эмулятор Амиги очень ловко это все делает. На него антивирус тоже ругается?
    Нужно у hobotа спросить. Это его антивирус мой эмулятор посадил в карантин.

    Хотя, кто знает - может я всё усложняю, а на самом деле есть какой-то более простой способ делать то же самое без глобального хука клавиатуры.

  7. #537

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Хотя, кто знает - может я всё усложняю, а на самом деле есть какой-то более простой способ делать то же самое без глобального хука клавиатуры.
    Вот я тоже не знаю. Я не виндовый писатель-системщик.

    ---------- Post added at 21:52 ---------- Previous post was at 21:07 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Для Alt и F10 достаточно не передавать управление из WM_SYSKEYDOWN в DefWindowProc
    А вот за это спасибо. Отключил реакцию на оба альта и F10. Теперь они ФИКС, ГРАФ и F10... что-нибудь)

  8. #538

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Отключил реакцию на оба альта и F10. Теперь они ФИКС, ГРАФ и F10... что-нибудь)
    это реализовано в последнем архиве или только у тебя пока ?

    Цитата Сообщение от Patron Посмотреть сообщение
    Нужно у hobotа спросить. Это его антивирус мой эмулятор посадил в карантин.
    Да но не сам антивирус, а встроенная система "SONAR", антивирус ругается даже на
    ещё не запущенные программы и на архивы, поэтому (но тут ещё один момент, позже)
    не совсем корректно говорить про антивирус в целом.
    Произошло с эмуляторм ДВК вот что. Предыдущая версия вообще не волновала антивирус и "СОНАР". Но антивирус перестал обновляться. Я забрал бесплатный (тот же), но новый релиз 2012 года, а там и "СОНАР" обновился (скажем так), это также совпало с обновлением ДВК эмулятора до вот текущей версии.
    В новом антивире я все настройки (по возможности) продублировал от старой версии и распаковал (ура!) новый архив от Patrona, ни на скаченный архив,
    на распакованные файлы никакой реакции от "сканера-вирусов" естественно не было, а вот система "СОНАР" тупо глушила любую попытку запуска файла pdp.exe.
    После короткого совещания с автором эмулятора, я почитал внимательней настройки, персонально списка приложений для "сонар" нет, он есть только для "файервола", поэтому я подобрал такой режим для "сонар" который перестал мне
    мешать эмулятором пользоваться.


    Цитата Сообщение от Titus Посмотреть сообщение
    Для справки для Хобота - залипание - это когда при отпускании ВСЕХ клавиш на клавиатуре
    Да я понимаю, может я не ясно описал? Если не успеваешь быстро отпустить то символов печатается не один, а сразу небольшая строка типа """"""""""""""""""""
    символ + на виндовой - клавише <;:Ж> у меня был с обоими шифтами!!!
    И ещё момент неявности - некоторые кнопки имеют как-бы одно "абсолютное"
    значение - хотя в реальности (кроме системных) таких кнопок нет !!!
    Тоесть в любой комбинации с любыми шифтами эмулятор не различая выводит на экран один символ, где глюк? ))) Это всё про 6a и 5f версии, последнюю же только забрал, надо пробовать.

    ---------- Post added at 05:14 ---------- Previous post was at 04:12 ----------

    Воспроизвести залипание очень трудно !!! Похоже оно как-то связано (могу ошибаться или быть в корне не правым) с мерцанием странного прямоугольничка в правом верхнем углу окна. Если в определённый момент будут что-то нажато оно липнет - но только в определённый момент.

    Цитата Сообщение от Titus Посмотреть сообщение
    Эмулятор Амиги очень ловко это все делает. На него антивирус тоже ругается?
    Не пользуюсь поэтому не могу сказать, бегу Амигу ))) УКНЦ и ДВК !!! Ну и АЙБИЭМ ))) Зачем мне другие спектрумы и амиги, там своих "слонов" хватает ))) с хоботАми )))

    Титус мне кажется не правильным привязывать опрос клавиатуры к мерцанию экрана, так же как в UKNCBTL вся работа эмулятора нормализуется "ВКЛ ЗВУКА" - никогда не понимал этих "тонкостей". Все окна в Windows получают системные сообщения - и про кнопочки в том числе - почему эмулятор не может последнее хранить, а вот когда его значение передавать внутрь твоих алгоритмов это уже дело твоих внутренних алгоритмов )))
    Я вообще не программист ))) Поэтому пытаюсь вникать на сколько могу в тему.
    Поставил последний архив !!! Спасибо что пересадил переключалку (ура три раза) !!! Остальное.. погоняю посмотрю.
    Последний раз редактировалось hobot; 17.04.2012 в 04:15.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  9. #539

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Да я понимаю, может я не ясно описал? Если не успеваешь быстро отпустить то символов печатается не один, а сразу небольшая строка типа """"""""""""""""""""
    Любой символ может зависнуть или только определенные комбинации?
    На сколько быстро набирается строка символов?
    Не является ли эта скорость набора нормальным автоповтором под системой УКНЦ?

    ---------- Post added at 12:31 ---------- Previous post was at 12:30 ----------

    Цитата Сообщение от hobot Посмотреть сообщение
    Воспроизвести залипание очень трудно !!! Похоже оно как-то связано (могу ошибаться или быть в корне не правым) с мерцанием странного прямоугольничка в правом верхнем углу окна. Если в определённый момент будут что-то нажато оно липнет - но только в определённый момент.
    Что за странный прямоугольник? Скриншот можно?

  10. #540

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

    По умолчанию

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

    Если же не матрицу клавиш считывать, а разбирать WM_KEYDOWN / WM_KEYUP - такая ситуация возникнуть не может.

Страница 54 из 120 ПерваяПервая ... 505152535455565758 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Эмулятор УКНЦ - UKNCBTL
    от nzeemin в разделе Эмуляторы отечественных компьютеров
    Ответов: 1114
    Последнее: 08.01.2025, 01:15
  2. PS/2 клавиатура в УКНЦ
    от balu_dark в разделе ДВК, УКНЦ
    Ответов: 83
    Последнее: 10.01.2021, 10:51
  3. Как проверить УКНЦ и КМД ? Help
    от Andrey_Ak в разделе ДВК, УКНЦ
    Ответов: 37
    Последнее: 23.07.2020, 15:50
  4. УКНЦ и шина МПИ
    от KALDYH в разделе ДВК, УКНЦ
    Ответов: 18
    Последнее: 14.03.2014, 14:30
  5. Продаю УКНЦ
    от Gryphon в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 01.04.2009, 10:22

Ваши права

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