Ecore_Win32/WinCE: do not autorepeat Ctrl, Shift and Alt keys

Patch by Shinwoo Kim


SVN revision: 69628
This commit is contained in:
Vincent Torri 2012-03-26 06:31:39 +00:00
parent 05ad7092d9
commit bff8077cc6
4 changed files with 18 additions and 0 deletions

View File

@ -586,3 +586,8 @@
to match ecore_x API.
* Add ecore_wince_window_focus(), ecore_wince_window_focus_get()
and ecore_win32_window_focus_get().
2012-03-26 Shinwoo Kim
* Do not autorepeat Ctrl, Shift and Alt keys on Windows

View File

@ -50,6 +50,8 @@ Fixes:
- prevent double free that could cause crash when an Ecore_Thread stop.
* ecore_x:
- ecore_x_randr_modes_info_get does not cut off the trailing '\0' anymore.
* ecore_win32/wince:
- do not autorepeat Ctrl, Shift and Alt keys
Improvements:
* ecore:

View File

@ -660,9 +660,11 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
char *kc = NULL;
int key;
int is_extended;
int previous_key_state;
key = msg->window_param;
is_extended = msg->data_param & 0x01000000;
previous_key_state = msg->data_param & 0x40000000;
*keyname = NULL;
*keysymbol = NULL;
@ -817,6 +819,7 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
if (is_down)
{
if (previous_key_state) return 0;
res = GetKeyState(VK_LSHIFT);
if (res & 0x8000)
{
@ -868,6 +871,7 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
if (is_down)
{
if (previous_key_state) return 0;
res = GetKeyState(VK_LCONTROL);
if (res & 0x8000)
{
@ -920,6 +924,7 @@ _ecore_win32_event_keystroke_get(Ecore_Win32_Callback_Data *msg,
if (is_down)
{
if (previous_key_state) return 0;
res = GetKeyState(VK_LMENU);
if (res & 0x8000)
{

View File

@ -77,6 +77,9 @@ _ecore_wince_event_keystroke_get(int key,
char *kn;
char *ks;
char *kc;
int previous_key_state;
previous_key_state = msg->data_param & 0x40000000;
*keyname = NULL;
*keysymbol = NULL;
@ -269,6 +272,7 @@ _ecore_wince_event_keystroke_get(int key,
if (is_down)
{
if (previous_key_state) return 0;
res = GetKeyState(VK_LSHIFT);
if (res & 0x8000)
{
@ -315,6 +319,7 @@ _ecore_wince_event_keystroke_get(int key,
if (is_down)
{
if (previous_key_state) return 0;
res = GetKeyState(VK_LCONTROL);
if (res & 0x8000)
{
@ -365,6 +370,7 @@ _ecore_wince_event_keystroke_get(int key,
if (is_down)
{
if (previous_key_state) return 0;
res = GetKeyState(VK_LMENU);
if (res & 0x8000)
{