Hi Bryan,

me again ...

Fabian Braennstroem schrieb am 03/17/2007 09:08 PM:
> 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!
> 

now, I know, why it worked before. I used three different
distribution: one at work, which is an old redhat 4.3, the other on
my laptop with a recent kubuntu on it and the a scientific linux
(redhat 4.4 clone) on my desktop. And the problem is that on  my
office machine none of the two 'control' combinations work:

   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()

They work on my desktop machine with the same 2.4.1 and python 2.5
version as at the office. Strange!?
Do you have any idea, what goes wrong?

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