def paste_xlib(self):

        window = self.display.get_input_focus().focus
        window.grab_keyboard(False, X.GrabModeAsync, X.GrabModeAsync,
                             X.CurrentTime)
        self.display.flush()
        key_press = event.KeyPress(detail=shared.keycode,
                                   time=X.CurrentTime,
                                   root=self.root,
                                   window=window,
                                   child=X.NONE,
                                   root_x=0,
                                   root_y=0,
                                   event_x=0,
                                   event_y=0,
                                   state=X.ControlMask,
                                   same_screen=1)
        key_release = event.KeyRelease(detail=shared.keycode,
                                       time=X.CurrentTime,
                                       root=self.root,
                                       window=window,
                                       child=X.NONE,
                                       root_x=0,
                                       root_y=0,
                                       event_x=0,
                                       event_y=0,
                                       state=X.ControlMask,
                                       same_screen=1)
        window.send_event(key_press)
        window.send_event(key_release)
        self.display.ungrab_keyboard(X.CurrentTime)
        self.display.flush()
Beispiel #2
0
    def send_key(self, key, state, mask):

        if state is KeyState.PRESSED:
            ev = xevent.KeyPress(time=X.CurrentTime,
                                 root=self.root,
                                 window=self.xwindow,
                                 same_screen=True,
                                 child=X.NONE,
                                 root_x=0,
                                 root_y=0,
                                 event_x=0,
                                 event_y=0,
                                 state=mask,
                                 detail=key.ec + self.translate.min_keycode)
            self.xwindow.send_event(ev)
        elif state is KeyState.RELEASED:
            ev = xevent.KeyRelease(time=X.CurrentTime,
                                   root=self.root,
                                   window=self.xwindow,
                                   same_screen=True,
                                   child=X.NONE,
                                   root_x=0,
                                   root_y=0,
                                   event_x=0,
                                   event_y=0,
                                   state=mask,
                                   detail=key.ec + self.translate.min_keycode)
            self.xwindow.send_event(ev)
        else:
            raise TypeError('Unsupported state')
        self.disp.flush()
Beispiel #3
0
    def release_button(self, keycode):
        #Search for the focused window
        self.wnd = self.disp.get_input_focus().focus

        if (self.wnd) == None:
            print 'Error assigning the focused window! Existing...'
            os._exit(0)

        self.keyevtrelease = event.KeyRelease(
            type=X.KeyRelease,
            display=self.disp,
            detail=keycode,
            time=X.CurrentTime,
            root=self.root,
            window=self.wnd,
            child=X.NONE,
            root_x=1,
            root_y=1,
            event_x=1,
            event_y=1,
            state=0,
            same_screen=1,
        )
        self.disp.send_event(self.wnd, self.keyevtrelease, propagate=True)
        self.disp.flush()
Beispiel #4
0
 def _send_key_release(self, keycode, state):
     key_release = event.KeyRelease(detail=keycode,
                                    time=X.CurrentTime,
                                    root=self.static_root,
                                    window=self.static_window,
                                    child=X.NONE,
                                    root_x=0,
                                    root_y=0,
                                    event_x=0,
                                    event_y=0,
                                    state=state,
                                    same_screen=1)
     self.static_window.send_event(key_release)
Beispiel #5
0
 def __sendKeyReleaseEvent(self, keyCode, modifiers, theWindow=None):
     if theWindow is None:
         focus = self.localDisplay.get_input_focus().focus
     else:
         focus = theWindow
     keyEvent = event.KeyRelease(detail=keyCode,
                                 time=X.CurrentTime,
                                 root=self.rootWindow,
                                 window=focus,
                                 child=X.NONE,
                                 root_x=1,
                                 root_y=1,
                                 event_x=1,
                                 event_y=1,
                                 state=modifiers,
                                 same_screen=1)
     focus.send_event(keyEvent)