[pygtk] Re: Handling Control - Shift Key Press Event

Mystilleef mystilleef at gmail.com
Fri May 19 20:03:18 WST 2006


Accelerator keys are case sensitive so:
    control - shift - s
becomes
    control - S

The correct code is as follows:

def key_press_event_cb(widget, event):
	from gtk.gdk import CONTROL_MASK, SHIFT_MASK
	if event.state & CONTROL_MASK and event.state & SHIFT_MASK:
		from gtk.gdk import keyval_name
		if keyval_name(event.keyval) == "S":
	 		print "You pressed control - shift - s"
			return True
	return False

On 5/19/06, Mystilleef <mystilleef at gmail.com> wrote:
> Hello,
>
> I want to handle the (control - shift - s) key press event.
> So I do the following in my key press event handler:
>
> def key_press_event_cb(widget, event):
>         if event.keyval == ord(s):
>                 from gtk.gdk import CONTROL_MASK, SHIFT_MASK
>                 if event.state & CONTROL_MASK | SHIFT_MASK:
>                         do_something()
>                         return True
>         return False
>
> You guessed right, it doesn't work. Any suggestion is
> appreciated.
>
> Thanks
>


More information about the pygtk mailing list