powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Странное клавиатурное сообщение по нажатию Enter
16 сообщений из 16, страница 1 из 1
Странное клавиатурное сообщение по нажатию Enter
    #39358194
A-MaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется удаленный объект с несколькими POS-терминалами, на всех Win XP Embedded. Клавиатуры предположительно нет (хотя могу ошибаться), но есть сканер штрих-кодов и кард-ридер, эмулирующие клавиатуру. При нажатии всех клавиш за исключением Enter приходят нормальные сообщения WM_KEYDOWN с правильными WParam и LParam. По Enter же WParam приходит правильный - 13, а LParam всегда 1. Аналогично по WM_CHAR. Проявляется на всех терминалах данного объекта, и как на сканерах, так и на ридерах.
Вопрос: кто виноват и что делать? Подозреваю, что проблема не в самих сканерах и ридерах - не могут же они глючить одновременно. Поэкспериментировать с "живой" клавиатурой в ближайшее время не получится, т.к. объект удаленный.
LParam нужен для определения скан-кода нажатой клавиши.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39358204
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-MaRПоэкспериментировать с "живой" клавиатурой в ближайшее время не получится, т.к. объект удаленный.
На своем с обычный клавиатурой не проверить? Может enter всегда таким приходит.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39358222
A-MaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanНа своем с обычный клавиатурой не проверить? Может enter всегда таким приходит.
В том-то и дело, что и на моем и на всех остальных объектах все нормально, Enter приходит с LParam = 11C0001, что с клавиатурой что с эмуляторами.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39358530
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSDN WM_KEYDOWNlParam
Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table.
0-15
Specifies 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
Specifies the scan code. The value depends on the OEM.
24
Specifies 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
Specifies the context code. The value is always 0 for a WM_KEYDOWN message.
30
Specifies 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
Specifies the transition state. The value is always zero for a WM_KEYDOWN message.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359047
A-MaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, очень похоже, что это гадит PuntoSwitcher, причем еще какой-то лохматой версии, когда процесс еще назывался ps.exe. Проблема только на тех терминалах, на которых эта зараза была найдена в процессах. По непонятной причине оно ни в какую не хочет прибиваться WinExec-ом, тогда как мой punto.exe прибивается на ура. Но это уже другой вопрос.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть, то, что скан-код это целиком вина и ответственность производителя и может быть практически произвольным - Вас не смущает. Ок...
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359614
A-MaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну почему же, в программе предусмотрена настройка, позволяющая привязаться и к произвольному скан-коду. Единственное условие - он должен быть не нулевым.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359685
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-MaR,

а привязка к скан коду то занахера?

клавиатура(или ей подобное устройство) может по любому интерфейсу быть подключенной,
хоть RS-232
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359694
A-MaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под RS-232 отдельный объект со своими сообщениями, а здесь речь именно про эмулятор клавиатуры, когда для карты с магнитной полосой начало, окончание дорожки и стоп-символ это вполне конкретные символы со своими скан-кодами.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359698
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-MaR,

программе какое дело до скан-кодов - ASCII получили - что ещё нужно
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359728
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

проблема в том, что аски приходит в текущей раскладке, что не всегда хорошо.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359853
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А давно Enter зависит от раскладки?
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39359992
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-MaRwadmanНа своем с обычный клавиатурой не проверить? Может enter всегда таким приходит.
В том-то и дело, что и на моем и на всех остальных объектах все нормально, Enter приходит с LParam = 11C0001, что с клавиатурой что с эмуляторами.


как бы логично, что по enter происходит завершение буферизации вода в сканере и передача его в девайс тебе, поэтому счетчик повторений логично что 1,а все остальные поля там служебные и OEM Dependent.

Что ты там хочешь увидеть, что хотел бы сделать?
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39360016
A-MaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так или иначе, но после отключения пунтосвитчера по Enter стал приходить правильный LParam.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39360228
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА давно Enter зависит от раскладки?
Если вопрос ко мне, то в аски не только enter.
...
Рейтинг: 0 / 0
Странное клавиатурное сообщение по нажатию Enter
    #39360285
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCII - это 0x00-0x7f если что
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Странное клавиатурное сообщение по нажатию Enter
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]