Como as teclas de atalho do X11 podem ser capturadas por um programa Python?

2

Eu quero ter um pequeno programa Python sendo executado em segundo plano que monitora determinadas pressões de atalho (por exemplo, Ctrl Alt direction key ). A ideia é que essas teclas de atalho possam acionar várias ações.

Aqui está o começo de uma tentativa, mas eu sinceramente não sei o que estou fazendo:

import Xlib
import Xlib.display

def process_event(event):

    keycode = event.detail
    if event.type == Xlib.X.KeyPress:
        print(keycode)

def main():

    # current display
    display    = Xlib.display.Display()
    rootWindow = display.screen().root

    # catch keypress events
    rootWindow.change_attributes(event_mask = Xlib.X.KeyPressMask)

    keys = [10, 11]

    for keycode in keys:
        rootWindow.grab_key(
            keycode,
            Xlib.X.Mod1Mask, #Xlib.X.AnyModifier,
            1,
            Xlib.X.GrabModeAsync,
            Xlib.X.GrabModeAsync
        )

    while True:
        event = rootWindow.display.next_event()
        process_event(event)

if __name__ == '__main__':
    main()
    
por d3pd 22.09.2015 / 21:19

0 respostas

Tags