forked from AuroraMiddleware/gtk
On Win9x, the keyboard state returned by GetKeyboardState() doesn't
2003-07-27 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x, the keyboard state returned by GetKeyboardState() doesn't distinguish between the left and right Control and Alt keys. Thus we cannot detect AltGr (which is supposed to be left Control + right Alt) the same way as on NT-based systems, but have to accept either Control + either Alt as AltGr.
This commit is contained in:
parent
5473dbef79
commit
165375eb5c
19
ChangeLog
19
ChangeLog
@ -1,10 +1,21 @@
|
||||
2003-07-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
|
||||
the keyboard state returned by GetKeyboardState() doesn't
|
||||
distinguish between the left and right Control and Alt keys. Thus
|
||||
we cannot detect AltGr (which is supposed to be left Control +
|
||||
right Alt) the same way as on NT-based systems, but have to accept
|
||||
either Control + either Alt as AltGr.
|
||||
|
||||
2003-07-27 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in
|
||||
warning message. (#118156, Tim-Philipp Müller)
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
|
||||
Fix function name in warning message. (#118156, Tim-Philipp
|
||||
Müller)
|
||||
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are
|
||||
boolean properties, not ints. (#118359, Josh Parsons)
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
|
||||
is-expander and is-expanded are boolean properties, not ints.
|
||||
(#118359, Josh Parsons)
|
||||
|
||||
Sat Jul 26 15:21:27 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
|
@ -1,10 +1,21 @@
|
||||
2003-07-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
|
||||
the keyboard state returned by GetKeyboardState() doesn't
|
||||
distinguish between the left and right Control and Alt keys. Thus
|
||||
we cannot detect AltGr (which is supposed to be left Control +
|
||||
right Alt) the same way as on NT-based systems, but have to accept
|
||||
either Control + either Alt as AltGr.
|
||||
|
||||
2003-07-27 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in
|
||||
warning message. (#118156, Tim-Philipp Müller)
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
|
||||
Fix function name in warning message. (#118156, Tim-Philipp
|
||||
Müller)
|
||||
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are
|
||||
boolean properties, not ints. (#118359, Josh Parsons)
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
|
||||
is-expander and is-expanded are boolean properties, not ints.
|
||||
(#118359, Josh Parsons)
|
||||
|
||||
Sat Jul 26 15:21:27 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
|
@ -1,10 +1,21 @@
|
||||
2003-07-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
|
||||
the keyboard state returned by GetKeyboardState() doesn't
|
||||
distinguish between the left and right Control and Alt keys. Thus
|
||||
we cannot detect AltGr (which is supposed to be left Control +
|
||||
right Alt) the same way as on NT-based systems, but have to accept
|
||||
either Control + either Alt as AltGr.
|
||||
|
||||
2003-07-27 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in
|
||||
warning message. (#118156, Tim-Philipp Müller)
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
|
||||
Fix function name in warning message. (#118156, Tim-Philipp
|
||||
Müller)
|
||||
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are
|
||||
boolean properties, not ints. (#118359, Josh Parsons)
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
|
||||
is-expander and is-expanded are boolean properties, not ints.
|
||||
(#118359, Josh Parsons)
|
||||
|
||||
Sat Jul 26 15:21:27 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
|
@ -1,10 +1,21 @@
|
||||
2003-07-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
|
||||
the keyboard state returned by GetKeyboardState() doesn't
|
||||
distinguish between the left and right Control and Alt keys. Thus
|
||||
we cannot detect AltGr (which is supposed to be left Control +
|
||||
right Alt) the same way as on NT-based systems, but have to accept
|
||||
either Control + either Alt as AltGr.
|
||||
|
||||
2003-07-27 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in
|
||||
warning message. (#118156, Tim-Philipp Müller)
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
|
||||
Fix function name in warning message. (#118156, Tim-Philipp
|
||||
Müller)
|
||||
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are
|
||||
boolean properties, not ints. (#118359, Josh Parsons)
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
|
||||
is-expander and is-expanded are boolean properties, not ints.
|
||||
(#118359, Josh Parsons)
|
||||
|
||||
Sat Jul 26 15:21:27 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
|
@ -1,10 +1,21 @@
|
||||
2003-07-27 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
|
||||
the keyboard state returned by GetKeyboardState() doesn't
|
||||
distinguish between the left and right Control and Alt keys. Thus
|
||||
we cannot detect AltGr (which is supposed to be left Control +
|
||||
right Alt) the same way as on NT-based systems, but have to accept
|
||||
either Control + either Alt as AltGr.
|
||||
|
||||
2003-07-27 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): Fix function name in
|
||||
warning message. (#118156, Tim-Philipp Müller)
|
||||
* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
|
||||
Fix function name in warning message. (#118156, Tim-Philipp
|
||||
Müller)
|
||||
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): is-expander and is-expanded are
|
||||
boolean properties, not ints. (#118359, Josh Parsons)
|
||||
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
|
||||
is-expander and is-expanded are boolean properties, not ints.
|
||||
(#118359, Josh Parsons)
|
||||
|
||||
Sat Jul 26 15:21:27 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
|
@ -754,6 +754,21 @@ build_key_event_state (GdkEvent *event,
|
||||
if (key_state[VK_CAPITAL] & 0x01)
|
||||
event->key.state |= GDK_LOCK_MASK;
|
||||
|
||||
/* Win9x doesn't distinguish between left and right Control and Alt
|
||||
* in the keyboard state as returned by GetKeyboardState(), so we
|
||||
* have to punt, and accept either Control + either Alt to be AltGr.
|
||||
*
|
||||
* Alternatively, we could have some state saved when the Control
|
||||
* and Alt keys messages come in, as the KF_EXTENDED bit in lParam
|
||||
* does indicate correctly whether it is the right Control or Alt
|
||||
* key. But that would be a bit messy.
|
||||
*/
|
||||
if (!IS_WIN_NT () &&
|
||||
_gdk_keyboard_has_altgr &&
|
||||
key_state[VK_CONTROL] & 0x80 &&
|
||||
key_state[VK_MENU] & 0x80)
|
||||
key_state[VK_LCONTROL] = key_state[VK_RMENU] = 0x80;
|
||||
|
||||
if (_gdk_keyboard_has_altgr &&
|
||||
(key_state[VK_LCONTROL] & 0x80) &&
|
||||
(key_state[VK_RMENU] & 0x80))
|
||||
@ -2071,7 +2086,7 @@ gdk_event_translate (GdkDisplay *display,
|
||||
|
||||
API_CALL (GetKeyboardState, (key_state));
|
||||
|
||||
/* g_print ("ctrl:%#x lctrl:%#x rctrl:%#x alt:%#x lalt:%#x ralt:%#x\n", key_state[VK_CONTROL], key_state[VK_LCONTROL], key_state[VK_RCONTROL], key_state[VK_MENU], key_state[VK_LMENU], key_state[VK_RMENU]); */
|
||||
/* g_print ("ctrl:%02x lctrl:%02x rctrl:%02x alt:%02x lalt:%02x ralt:%02x\n", key_state[VK_CONTROL], key_state[VK_LCONTROL], key_state[VK_RCONTROL], key_state[VK_MENU], key_state[VK_LMENU], key_state[VK_RMENU]); */
|
||||
|
||||
build_key_event_state (event, key_state);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user