|
|
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
Имеется удаленный объект с несколькими POS-терминалами, на всех Win XP Embedded. Клавиатуры предположительно нет (хотя могу ошибаться), но есть сканер штрих-кодов и кард-ридер, эмулирующие клавиатуру. При нажатии всех клавиш за исключением Enter приходят нормальные сообщения WM_KEYDOWN с правильными WParam и LParam. По Enter же WParam приходит правильный - 13, а LParam всегда 1. Аналогично по WM_CHAR. Проявляется на всех терминалах данного объекта, и как на сканерах, так и на ридерах. Вопрос: кто виноват и что делать? Подозреваю, что проблема не в самих сканерах и ридерах - не могут же они глючить одновременно. Поэкспериментировать с "живой" клавиатурой в ближайшее время не получится, т.к. объект удаленный. LParam нужен для определения скан-кода нажатой клавиши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 09:30 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
A-MaRПоэкспериментировать с "живой" клавиатурой в ближайшее время не получится, т.к. объект удаленный. На своем с обычный клавиатурой не проверить? Может enter всегда таким приходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 09:40 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
wadmanНа своем с обычный клавиатурой не проверить? Может enter всегда таким приходит. В том-то и дело, что и на моем и на всех остальных объектах все нормально, Enter приходит с LParam = 11C0001, что с клавиатурой что с эмуляторами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 10:02 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2016, 15:00 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
В общем, очень похоже, что это гадит PuntoSwitcher, причем еще какой-то лохматой версии, когда процесс еще назывался ps.exe. Проблема только на тех терминалах, на которых эта зараза была найдена в процессах. По непонятной причине оно ни в какую не хочет прибиваться WinExec-ом, тогда как мой punto.exe прибивается на ура. Но это уже другой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 07:08 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
То есть, то, что скан-код это целиком вина и ответственность производителя и может быть практически произвольным - Вас не смущает. Ок... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 14:47 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
Ну почему же, в программе предусмотрена настройка, позволяющая привязаться и к произвольному скан-коду. Единственное условие - он должен быть не нулевым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 18:43 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
A-MaR, а привязка к скан коду то занахера? клавиатура(или ей подобное устройство) может по любому интерфейсу быть подключенной, хоть RS-232 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 21:33 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
Под RS-232 отдельный объект со своими сообщениями, а здесь речь именно про эмулятор клавиатуры, когда для карты с магнитной полосой начало, окончание дорожки и стоп-символ это вполне конкретные символы со своими скан-кодами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 22:01 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
A-MaR, программе какое дело до скан-кодов - ASCII получили - что ещё нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 22:11 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
Изопропил, проблема в том, что аски приходит в текущей раскладке, что не всегда хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2016, 23:05 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
А давно Enter зависит от раскладки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2016, 14:54 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
A-MaRwadmanНа своем с обычный клавиатурой не проверить? Может enter всегда таким приходит. В том-то и дело, что и на моем и на всех остальных объектах все нормально, Enter приходит с LParam = 11C0001, что с клавиатурой что с эмуляторами. как бы логично, что по enter происходит завершение буферизации вода в сканере и передача его в девайс тебе, поэтому счетчик повторений логично что 1,а все остальные поля там служебные и OEM Dependent. Что ты там хочешь увидеть, что хотел бы сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2016, 09:29 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
Так или иначе, но после отключения пунтосвитчера по Enter стал приходить правильный LParam. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2016, 11:26 |
|
||
|
Странное клавиатурное сообщение по нажатию Enter
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovА давно Enter зависит от раскладки? Если вопрос ко мне, то в аски не только enter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2016, 09:42 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=25&tid=1340554]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 328ms |

| 0 / 0 |
