XWidgetSoft Forum
https://bbs.xwidget.com/

OnKeyDown Event fires incorrectly
https://bbs.xwidget.com/viewtopic.php?f=3&t=5833
Page 1 of 1

Author:  digigamer [ July 22nd, 2015, 10:28 pm ]
Post subject:  OnKeyDown Event fires incorrectly

BUG : OnKeyDown Event fires incorrectly
Version : 1.9.3.1022
Operating System : Windows 7 Ultimate x86 6.1.7601 (With Service Pack 1)

Description
------------------
On every key down event, `OnKeyDown` event fires twice once with either `Key` or `KeyChar` being 0.

# Expected behavior
On key press, OnKeyDown event should fire with `Key` set to key code (VK_ENTER (13) for enter key etc.) and `KeyChar` set to the key character, if the pressed key is an alphanumeric key.

# Observed behavior
On key press, OnKeyDownEvent fires twice, once with `Key` set to key code and `KeyChar` being 0. It is then followed by another OnKeyDown event, with `Key` set to 0 and `KeyCode` set if available else 0.

# Remarks
This behavior makes it impossible to associate the key code to the character that was typed in

How to reproduce
------------------
Attach an event handler to a focusable control (edit,button or anything set to Can Focused) with the following code:

function edit1OnKeyDown(Sender,Key,KeyChar,Shift)
{
print(Key + " : "+ KeyChar);
}

A test widget with this code is attached herewith.
Typing a b c d e f g h`shift + x` `backspace` will give an output similar to what has been shown in the logs.

These were typed with the CAPS LOCK being OFF

Expected output:
CHARACTER KEY CODE KEY CHAR
--------- -------- --------
A 65 97
B 66 98
C 67 99
D 68 100
E 69 101
F 70 102
G 71 103
H 72 104

`Shift` 16 0

X 88 88 (with Shift); 120 (without)

`Backspace` 8 8


Observed Output:
------------------
[20:24:22 031]: Mouse Leave Widget Window (OnLeave)
[20:24:17 039]: print: 0 : 8
[20:24:17 023]: print: 8 : 0
[20:24:13 061]: print: 0 : 88
[20:24:13 045]: print: 88 : 0
[20:24:12 889]: print: 16 : 0
[20:24:12 250]: print: 0 : 104
[20:24:12 250]: print: 72 : 0
[20:24:11 626]: print: 0 : 103
[20:24:11 626]: print: 71 : 0
[20:24:11 298]: print: 0 : 102
[20:24:11 282]: print: 70 : 0
[20:24:11 033]: print: 0 : 101
[20:24:11 017]: print: 69 : 0
[20:24:10 783]: print: 0 : 100
[20:24:10 783]: print: 68 : 0
[20:24:10 487]: print: 0 : 99
[20:24:10 487]: print: 67 : 0
[20:24:10 112]: print: 0 : 98
[20:24:10 112]: print: 66 : 0
[20:24:09 410]: print: 0 : 97
[20:24:09 395]: print: 65 : 0
[20:24:07 445]: Mouse Enter Widget Window (OnEnter)

Attachments:
chimes_search.xwp [9.56 KiB]
Downloaded 212 times

Page 1 of 1 All times are UTC - 8 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/