[PATCH 2/3] winex11.drv: set global key state

Rafał Miłecki zajec5 at gmail.com
Sun Sep 6 08:27:48 CDT 2009


winex11.drv: set global key state

This keeps current state in global_key_state_table array.

-- 
Rafał Miłecki
-------------- next part --------------
From 0c7623be48033633d16acaadda37f04b6a046f12 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5 at gmail.com>
Date: Sun, 6 Sep 2009 15:20:14 +0200
Subject: [PATCH] winex11.drv: set global key state
To: wine-patches <wine-patches at winehq.org>
Reply-To: wine-devel <wine-devel at winehq.org>

---
 dlls/winex11.drv/keyboard.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 3da7183..f02ae5a 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -1250,6 +1250,21 @@ void X11DRV_send_keyboard_input( WORD wVk, WORD wScan, DWORD event_flags, DWORD
             key_state_table[wVkStripped] = key_state_table[wVkL] | key_state_table[wVkR];
         }
 
+        SERVER_START_REQ( set_global_key_state )
+        {
+            req->key      = wVk;
+            req->state    = key_state_table[wVk];
+            wine_server_call( req );
+        }
+        SERVER_END_REQ;
+        SERVER_START_REQ( set_global_key_state )
+        {
+            req->key      = wVkStripped;
+            req->state    = key_state_table[wVkStripped];
+            wine_server_call( req );
+        }
+        SERVER_END_REQ;
+
         if (key_state_table[VK_MENU] & 0x80) flags |= KF_ALTDOWN;
 
         if (wVkStripped == VK_SHIFT) flags &= ~KF_EXTENDED;
-- 
1.6.0.2


More information about the wine-patches mailing list