Hi Bryan,

Bryan Feir schrieb am 03/17/2007 08:07 PM:
> On Sat, Mar 17, 2007 at 06:47:38PM +0000, Fabian Braennstroem wrote:
>> Hi to both,
>>
>> Bryan Feir schrieb am 03/16/2007 02:34 PM:
>>>    Yes.  Specifically the problem is that if you use '==', then the
>>> match won't work if you have any other modifier keys active, including
>>> NumLock.  Which could be why it seemed to work before but not now.  So
>>> you need to check only those state bits that you require.  If you need
>>> to match Control but not Shift, for example, then it would be something
>>> like:
>>>  (event.state & (gtk.gdk.CONTROL_MASK|gtk.gdk.SHIFT_MASK)) ==
>>>    gtk.gdk.CONTROLMASK
>> thanks for your advice, but I did not tell you everything... I am
>> able to catch the 'control' key, but when I have an additional
>> binding just e.g. for 'l' like:
>>
>>         if keyname == "l":
>>
>> both bindings get 'activated', when pressing 'Ctrl+l'. Do you have
>> any idea to correct this?
> 
> Well, then you want to check that 'l' is pressed without CTRL instead:
> 
>   if keyname == "l" and
>     (event.state & gtk.gdk.CONTROL_MASK) == gtk.gdk.CONTROL_MASK:
>               do_control_l()
>   if keyname == "l" and (event.state & gtk.gdk.CONTROL_MASK) == 0:
>               do_l()

thanks, that was pretty easy!

Greetings!
Fabian

_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to