mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
gdk/gdk.def Add and (trivially) implement
2002-03-03 Tor Lillqvist <tml@iki.fi> * gdk/gdk.def * gdk/win32/gdkevents-win32.c: Add and (trivially) implement gdk_pointer_grab_info_libgtk_only() and gdk_keyboard_grab_info_libgtk_only(). 2002-03-02 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder code, keyval should get a value in all cases now. (build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it was a control character produced with Alt+keypad digits. (gdk_event_translate): Minor cleanups to keyboard input handling. Still need more major work.
This commit is contained in:
parent
aba1c9a76e
commit
7fee0db1f0
16
ChangeLog
16
ChangeLog
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
2002-03-03 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.def
|
||||||
|
* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
|
||||||
|
gdk_pointer_grab_info_libgtk_only() and
|
||||||
|
gdk_keyboard_grab_info_libgtk_only().
|
||||||
|
|
||||||
|
2002-03-02 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
|
||||||
|
code, keyval should get a value in all cases now.
|
||||||
|
(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
|
||||||
|
was a control character produced with Alt+keypad digits.
|
||||||
|
(gdk_event_translate): Minor cleanups to keyboard input
|
||||||
|
handling. Still need more major work.
|
||||||
|
|
||||||
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
Sat Mar 2 16:12:03 2002 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
|
||||||
|
@ -209,6 +209,7 @@ EXPORTS
|
|||||||
gdk_input_window_destroy
|
gdk_input_window_destroy
|
||||||
gdk_join_style_get_type
|
gdk_join_style_get_type
|
||||||
gdk_keyboard_grab
|
gdk_keyboard_grab
|
||||||
|
gdk_keyboard_grab_info_libgtk_only
|
||||||
gdk_keyboard_ungrab
|
gdk_keyboard_ungrab
|
||||||
gdk_keymap_get_default
|
gdk_keymap_get_default
|
||||||
gdk_keymap_get_direction
|
gdk_keymap_get_direction
|
||||||
@ -253,6 +254,7 @@ EXPORTS
|
|||||||
gdk_pixmap_get_type
|
gdk_pixmap_get_type
|
||||||
gdk_pixmap_new
|
gdk_pixmap_new
|
||||||
gdk_pointer_grab
|
gdk_pointer_grab
|
||||||
|
gdk_pointer_grab_info_libgtk_only
|
||||||
gdk_pointer_is_grabbed
|
gdk_pointer_is_grabbed
|
||||||
gdk_pointer_ungrab
|
gdk_pointer_ungrab
|
||||||
gdk_prop_mode_get_type
|
gdk_prop_mode_get_type
|
||||||
|
@ -668,6 +668,35 @@ gdk_pointer_is_grabbed (void)
|
|||||||
return p_grab_window != NULL;
|
return p_grab_window != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gdk_pointer_grab_info_libgtk_only:
|
||||||
|
* @grab_window: location to store current grab window
|
||||||
|
* @owner_events: location to store boolean indicating whether
|
||||||
|
* the @owner_events flag to gdk_pointer_grab() was %TRUE.
|
||||||
|
*
|
||||||
|
* Determines information about the current pointer grab.
|
||||||
|
* This is not public API and must not be used by applications.
|
||||||
|
*
|
||||||
|
* Return value: %TRUE if this application currently has the
|
||||||
|
* pointer grabbed.
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
gdk_pointer_grab_info_libgtk_only (GdkWindow **grab_window,
|
||||||
|
gboolean *owner_events)
|
||||||
|
{
|
||||||
|
if (p_grab_window != NULL)
|
||||||
|
{
|
||||||
|
if (grab_window)
|
||||||
|
*grab_window = p_grab_window;
|
||||||
|
if (owner_events)
|
||||||
|
*owner_events = p_grab_owner_events;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*--------------------------------------------------------------
|
*--------------------------------------------------------------
|
||||||
* gdk_keyboard_grab
|
* gdk_keyboard_grab
|
||||||
@ -738,6 +767,35 @@ gdk_keyboard_ungrab (guint32 time)
|
|||||||
k_grab_window = NULL;
|
k_grab_window = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gdk_keyboard_grab_info_libgtk_only:
|
||||||
|
* @grab_window: location to store current grab window
|
||||||
|
* @owner_events: location to store boolean indicating whether
|
||||||
|
* the @owner_events flag to gdk_keyboard_grab() was %TRUE.
|
||||||
|
*
|
||||||
|
* Determines information about the current keyboard grab.
|
||||||
|
* This is not public API and must not be used by applications.
|
||||||
|
*
|
||||||
|
* Return value: %TRUE if this application currently has the
|
||||||
|
* keyboard grabbed.
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
gdk_keyboard_grab_info_libgtk_only (GdkWindow **grab_window,
|
||||||
|
gboolean *owner_events)
|
||||||
|
{
|
||||||
|
if (k_grab_window)
|
||||||
|
{
|
||||||
|
if (grab_window)
|
||||||
|
*grab_window = k_grab_window;
|
||||||
|
if (owner_events)
|
||||||
|
*owner_events = k_grab_owner_events;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
gdk_event_apply_filters (MSG *msg,
|
gdk_event_apply_filters (MSG *msg,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
@ -777,10 +835,6 @@ gdk_add_client_message_filter (GdkAtom message_type,
|
|||||||
client_filters = g_list_prepend (client_filters, filter);
|
client_filters = g_list_prepend (client_filters, filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Thanks to Markus G. Kuhn <mkuhn@acm.org> for the ksysym<->Unicode
|
|
||||||
* mapping functions, from the xterm sources.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
build_key_event_state (GdkEvent *event)
|
build_key_event_state (GdkEvent *event)
|
||||||
{
|
{
|
||||||
@ -850,6 +904,7 @@ build_keypress_event (GdkEvent *event,
|
|||||||
event->key.time = msg->time;
|
event->key.time = msg->time;
|
||||||
event->key.state = 0;
|
event->key.state = 0;
|
||||||
event->key.group = 0; /* ??? */
|
event->key.group = 0; /* ??? */
|
||||||
|
event->key.keyval = GDK_VoidSymbol;
|
||||||
|
|
||||||
if (msg->message == WM_IME_COMPOSITION)
|
if (msg->message == WM_IME_COMPOSITION)
|
||||||
{
|
{
|
||||||
@ -869,10 +924,20 @@ build_keypress_event (GdkEvent *event,
|
|||||||
for (i = 0; i < bytecount; i++)
|
for (i = 0; i < bytecount; i++)
|
||||||
buf[i] = msg->wParam;
|
buf[i] = msg->wParam;
|
||||||
event->key.hardware_keycode = vk_from_char (msg->wParam);
|
event->key.hardware_keycode = vk_from_char (msg->wParam);
|
||||||
|
if (msg->wParam < ' ')
|
||||||
|
{
|
||||||
|
/* For ASCII control chars, the keyval should be the
|
||||||
|
* corresponding ASCII character.
|
||||||
|
*/
|
||||||
|
event->key.keyval = msg->wParam + '@';
|
||||||
|
/* This is needed in case of Alt+nnn or Alt+0nnn (on the numpad)
|
||||||
|
* where nnn<32
|
||||||
|
*/
|
||||||
|
event->key.state |= GDK_CONTROL_MASK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else /* WM_IME_CHAR */
|
else /* WM_IME_CHAR */
|
||||||
{
|
{
|
||||||
event->key.keyval = GDK_VoidSymbol;
|
|
||||||
event->key.hardware_keycode = 0; /* ??? */
|
event->key.hardware_keycode = 0; /* ??? */
|
||||||
if (msg->wParam & 0xFF00)
|
if (msg->wParam & 0xFF00)
|
||||||
{
|
{
|
||||||
@ -891,43 +956,32 @@ build_keypress_event (GdkEvent *event,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Convert from the thread's current code page
|
/* Convert from the thread's current code page
|
||||||
* to Unicode. Then convert to UTF-8.
|
* to Unicode. (Followed by conversion to UTF-8 below.)
|
||||||
* We don't handle the surrogate stuff. Should we?
|
|
||||||
*/
|
*/
|
||||||
ucount = MultiByteToWideChar (_gdk_input_codepage,
|
ucount = MultiByteToWideChar (_gdk_input_codepage,
|
||||||
0, buf, bytecount,
|
0, buf, bytecount,
|
||||||
wbuf, G_N_ELEMENTS (wbuf));
|
wbuf, G_N_ELEMENTS (wbuf));
|
||||||
}
|
}
|
||||||
if (ucount == 0)
|
|
||||||
event->key.keyval = GDK_VoidSymbol;
|
|
||||||
else if (msg->message == WM_CHAR || msg->message == WM_SYSCHAR)
|
|
||||||
{
|
|
||||||
if (msg->wParam < ' ')
|
|
||||||
{
|
|
||||||
event->key.keyval = msg->wParam + '@';
|
|
||||||
/* This is needed in case of Alt+nnn or Alt+0nnn (on the numpad)
|
|
||||||
* where nnn<32
|
|
||||||
*/
|
|
||||||
event->key.state |= GDK_CONTROL_MASK;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
event->key.keyval = gdk_unicode_to_keyval (wbuf[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
build_key_event_state (event);
|
build_key_event_state (event);
|
||||||
|
|
||||||
/* Build UTF-8 string */
|
/* Build UTF-8 string */
|
||||||
if (ucount == 1 && wbuf[0] < 0200)
|
if (ucount > 0)
|
||||||
{
|
{
|
||||||
event->key.string = g_malloc (2);
|
if (ucount == 1 && wbuf[0] < 0200)
|
||||||
event->key.string[0] = wbuf[0];
|
{
|
||||||
event->key.string[1] = '\0';
|
event->key.string = g_malloc (2);
|
||||||
event->key.length = 1;
|
event->key.string[0] = wbuf[0];
|
||||||
}
|
event->key.string[1] = '\0';
|
||||||
else
|
event->key.length = 1;
|
||||||
{
|
}
|
||||||
event->key.string = _gdk_ucs2_to_utf8 (wbuf, ucount);
|
else
|
||||||
event->key.length = strlen (event->key.string);
|
{
|
||||||
|
event->key.string = _gdk_ucs2_to_utf8 (wbuf, ucount);
|
||||||
|
event->key.length = strlen (event->key.string);
|
||||||
|
}
|
||||||
|
if (event->key.keyval == GDK_VoidSymbol)
|
||||||
|
event->key.keyval = gdk_unicode_to_keyval (wbuf[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -946,7 +1000,10 @@ build_keyrelease_event (GdkEvent *event,
|
|||||||
if (msg->message == WM_CHAR || msg->message == WM_SYSCHAR)
|
if (msg->message == WM_CHAR || msg->message == WM_SYSCHAR)
|
||||||
{
|
{
|
||||||
if (msg->wParam < ' ')
|
if (msg->wParam < ' ')
|
||||||
event->key.keyval = msg->wParam + '@';
|
{
|
||||||
|
event->key.keyval = msg->wParam + '@';
|
||||||
|
event->key.state |= GDK_CONTROL_MASK;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
buf = msg->wParam;
|
buf = msg->wParam;
|
||||||
@ -2044,7 +2101,7 @@ gdk_event_translate (GdkEvent *event,
|
|||||||
case WM_SYSKEYUP:
|
case WM_SYSKEYUP:
|
||||||
case WM_SYSKEYDOWN:
|
case WM_SYSKEYDOWN:
|
||||||
GDK_NOTE (EVENTS,
|
GDK_NOTE (EVENTS,
|
||||||
g_print ("WM_SYSKEY%s: %p %s %#x %s\n",
|
g_print ("WM_SYSKEY%s: %p %s vk%.02x %s\n",
|
||||||
(msg->message == WM_SYSKEYUP ? "UP" : "DOWN"),
|
(msg->message == WM_SYSKEYUP ? "UP" : "DOWN"),
|
||||||
msg->hwnd,
|
msg->hwnd,
|
||||||
(GetKeyNameText (msg->lParam, buf,
|
(GetKeyNameText (msg->lParam, buf,
|
||||||
@ -2053,26 +2110,26 @@ gdk_event_translate (GdkEvent *event,
|
|||||||
msg->wParam,
|
msg->wParam,
|
||||||
decode_key_lparam (msg->lParam)));
|
decode_key_lparam (msg->lParam)));
|
||||||
|
|
||||||
/* Let the system handle Alt-Tab and Alt-Enter */
|
/* If posted without us having keyboard focus, ignore */
|
||||||
|
if (!(msg->lParam & 0x20000000))
|
||||||
|
break;
|
||||||
|
/* Let the system handle Alt-Tab, Alt-Enter and Alt-F4 */
|
||||||
if (msg->wParam == VK_TAB
|
if (msg->wParam == VK_TAB
|
||||||
|| msg->wParam == VK_RETURN
|
|| msg->wParam == VK_RETURN
|
||||||
|| msg->wParam == VK_F4)
|
|| msg->wParam == VK_F4)
|
||||||
break;
|
break;
|
||||||
/* If posted without us having keyboard focus, ignore */
|
/* Ignore auto-repeated Shift or Alt keypresses (good idea???) */
|
||||||
if (!(msg->lParam & 0x20000000))
|
if ((msg->wParam == VK_SHIFT || msg->wParam == VK_MENU) &&
|
||||||
|
(HIWORD (msg->lParam) & KF_REPEAT))
|
||||||
break;
|
break;
|
||||||
#if 0
|
|
||||||
/* don't generate events for just the Alt key */
|
|
||||||
if (msg->wParam == VK_MENU)
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
/* Jump to code in common with WM_KEYUP and WM_KEYDOWN */
|
/* Jump to code in common with WM_KEYUP and WM_KEYDOWN */
|
||||||
goto keyup_or_down;
|
goto keyup_or_down;
|
||||||
|
|
||||||
case WM_KEYUP:
|
case WM_KEYUP:
|
||||||
case WM_KEYDOWN:
|
case WM_KEYDOWN:
|
||||||
GDK_NOTE (EVENTS,
|
GDK_NOTE (EVENTS,
|
||||||
g_print ("WM_KEY%s: %p %s %#x %s\n",
|
g_print ("WM_KEY%s: %p %s vk%.02x %s\n",
|
||||||
(msg->message == WM_KEYUP ? "UP" : "DOWN"),
|
(msg->message == WM_KEYUP ? "UP" : "DOWN"),
|
||||||
msg->hwnd,
|
msg->hwnd,
|
||||||
(GetKeyNameText (msg->lParam, buf,
|
(GetKeyNameText (msg->lParam, buf,
|
||||||
@ -2339,7 +2396,7 @@ gdk_event_translate (GdkEvent *event,
|
|||||||
GDK_KEY_PRESS : GDK_KEY_RELEASE);
|
GDK_KEY_PRESS : GDK_KEY_RELEASE);
|
||||||
event->key.time = msg->time;
|
event->key.time = msg->time;
|
||||||
event->key.state = 0;
|
event->key.state = 0;
|
||||||
if (GetKeyState (VK_SHIFT) < 0)
|
if (event->key.keyval != GDK_ISO_Left_Tab && GetKeyState (VK_SHIFT) < 0)
|
||||||
event->key.state |= GDK_SHIFT_MASK;
|
event->key.state |= GDK_SHIFT_MASK;
|
||||||
if (GetKeyState (VK_CAPITAL) & 0x1)
|
if (GetKeyState (VK_CAPITAL) & 0x1)
|
||||||
event->key.state |= GDK_LOCK_MASK;
|
event->key.state |= GDK_LOCK_MASK;
|
||||||
@ -3306,8 +3363,6 @@ _gdk_events_queue (void)
|
|||||||
while (!_gdk_event_queue_find_first ()
|
while (!_gdk_event_queue_find_first ()
|
||||||
&& PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
|
&& PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
|
||||||
{
|
{
|
||||||
GDK_NOTE (EVENTS, g_print ("PeekMessage: %p %s\n",
|
|
||||||
msg.hwnd, gdk_win32_message_name (msg.message)));
|
|
||||||
#ifndef HAVE_DIMM_H
|
#ifndef HAVE_DIMM_H
|
||||||
TranslateMessage (&msg);
|
TranslateMessage (&msg);
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user