[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Multiple keyboard



This look like something we need, but for Linux.
Is this available (I haven't find anything like it on Google)
Thanks

P.

On 11-11-19 11:32 PM, Alec Bennett wrote:
Have you tried the pyHooks module? It can hook the keyboard at what
might be a lower level than pygame. I know, for example, that it works
whether or not the application has focus.

There's a demo script that prints all the info about a given keystroke,
maybe there's something in it that differentiates multiple keyboards.

Apologies if this was already mentioned.




On Sat, Nov 19, 2011 at 2:15 PM, Miriam English <mim@xxxxxxxxxxxxxxxxxx
<mailto:mim@xxxxxxxxxxxxxxxxxx>> wrote:

    It looks like the serial value changes each time you use a different
    keyboard. I tried pressing "1" then "2" on one keyboard and found
    the serial number doesn't change. Interesting.

    Unfortunately when you input from another keyboard the serial number
    just seems to increment. With just 2 keyboards I guess this should
    be a matter of _even_ serial numbers being from one keyboard, and
    _odd_ serial numbers being from the other keyboard.

    I'm not sure how you detect the serial numbers from python though.
    Perhaps someone else here knows more about this stuff.

    Best wishes,

            - Miriam


    PierreLafrance1@xxxxxxxxxxxx <mailto:PierreLafrance1@xxxxxxxxxxxx>
    wrote:


        KeyPress event, serial 38, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443293042, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XmbLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        KeyRelease event, serial 39, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443293186, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        MappingNotify event, serial 39, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 39, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443294033, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XmbLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        KeyRelease event, serial 40, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443294153, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        MappingNotify event, serial 40, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 40, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443294689, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XmbLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        KeyRelease event, serial 41, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443294817, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        MappingNotify event, serial 41, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 41, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443295313, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XmbLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        KeyRelease event, serial 42, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443295441, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        MappingNotify event, serial 42, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 42, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443295937, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XmbLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        KeyRelease event, serial 43, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443296081, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        MappingNotify event, serial 43, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 43, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443296537, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XmbLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        KeyRelease event, serial 44, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443296641, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        MappingNotify event, serial 44, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 44, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443297553, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XmbLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        KeyRelease event, serial 45, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443297633, (833,223),
        root:(839,249),
             state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
             XLookupString gives 1 bytes: (31) "1"
             XFilterEvent returns: False

        MappingNotify event, serial 45, synthetic NO, window 0x0,
             request MappingKeyboard, first_keycode 8, count 248

        KeyPress event, serial 45, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443298049, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XmbLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False

        KeyRelease event, serial 46, synthetic NO, window 0x5200001,
             root 0x10b, subw 0x0, time 443298153, (833,223),
        root:(839,249),
             state 0x10, keycode 88 (keysym 0xffb2, KP_2), same_screen YES,
             XLookupString gives 1 bytes: (32) "2"
             XFilterEvent returns: False



    --
    If you don't have any failures then you're not trying hard enough.
      - Dr. Charles Elachi, director of NASA's Jet Propulsion Laboratory
    -----
    Website: http://miriam-english.org
    Blogs: http://miriam-e.dreamwidth.org
    http://miriam-e.livejournal.__com <http://miriam-e.livejournal.com>