Python Xlib.X.KeyRelease() Examples
The following are 30
code examples of Xlib.X.KeyRelease().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
Xlib.X
, or try the search function
.
Example #1
Source File: event.py From deepin-remote-assistance with GNU General Public License v3.0 | 6 votes |
def handle_event(self, event): # KeyPress event if event.type == X.KeyPress: keyname = xrobot.get_keyname(event) self.keyPressed.emit(keyname) # KeyRelease event elif event.type == X.KeyRelease: keyname = xrobot.get_keyname(event) self.keyReleased.emit(keyname) # ButtonPress event elif event.type == X.ButtonPress: self.buttonPressed.emit(event.root_x, event.root_y, event.time) # ButtonRelease event elif event.type == X.ButtonRelease: self.buttonReleased.emit(event.root_x, event.root_y, event.time) # MotionNotify event elif event.type == X.MotionNotify: self.cursorPositionChanged.emit(event.root_x, event.root_y)
Example #2
Source File: main.py From inkscape-shortcut-manager with MIT License | 6 votes |
def listen(self): self.grab() while True: evt = self.disp.next_event() if evt.type in [X.KeyPress, X.KeyRelease]: keycode = evt.detail keysym = self.disp.keycode_to_keysym(keycode, 0) char = XK.keysym_to_string(keysym) self.disp.allow_events(X.ReplayKeyboard, X.CurrentTime) self.mode(self, evt, char) if evt.type == X.DestroyNotify: if evt.window.id == self.id: self.ungrab() return
Example #3
Source File: normal.py From inkscape-shortcut-manager with MIT License | 6 votes |
def normal_mode(self, event, char): events.append(event) if event.type == X.KeyPress and char: pressed.add(event_to_string(self, event)) return if event.type != X.KeyRelease: return handled = False if len(pressed) > 1: paste_style(self, pressed) handled = True elif len(pressed) == 1: # Get the only element in pressed ev = next(iter(pressed)) handled = handle_single_key(self, ev) # replay events to Inkscape if we couldn't handle them if not handled: replay(self) events.clear() pressed.clear()
Example #4
Source File: keyboard.py From iris with Mozilla Public License 2.0 | 6 votes |
def key_up(self, key): """Performs a keyboard key release (without the press down beforehand). :param key: The key to be released up. The valid names are listed in Key Class :return: None. """ if isinstance(key, Key) or isinstance(key, KeyModifier): key = key.value.x11key if self.keyboard_mapping(key) is None: return if isinstance(key, int): key_code = key else: key_code = self.keyboard_mapping(key) fake_input(self.display, X.KeyRelease, key_code) self.display.sync()
Example #5
Source File: styles.py From inkscape-shortcut-manager with MIT License | 6 votes |
def paste_mode(type_, self, event, char): print('paste mode') if event.state & X.ControlMask: # there are modifiers # eg. X.ControlMask # ~or X.ShiftMask~ return if not char: return if event.type != X.KeyRelease: return if char == 'Escape': if len(pressed) == 0: return back_to_normal(self) else: pressed.clear() else: pressed.append(char) return check(type_, self, ''.join(pressed))
Example #6
Source File: interface.py From autokey with GNU General Public License v3.0 | 6 votes |
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)
Example #7
Source File: pyxhook.py From MouseTracks with GNU General Public License v3.0 | 6 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent( storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName )
Example #8
Source File: pyxhook.py From clix with MIT License | 6 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent( storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName )
Example #9
Source File: interface.py From autokey with GNU General Public License v3.0 | 6 votes |
def __processEvent(self, reply): if reply.category != record.FromServer: return if reply.client_swapped: return if not len(reply.data) or str_or_bytes_to_bytes(reply.data)[0] < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, self.recordDisplay.display, None, None) if event.type == X.KeyPress: self.handle_keypress(event.detail) elif event.type == X.KeyRelease: self.handle_keyrelease(event.detail) elif event.type == X.ButtonPress: self.handle_mouseclick(event.detail, event.root_x, event.root_y)
Example #10
Source File: interface.py From autokey with GNU General Public License v3.0 | 6 votes |
def run(self): # Create a recording context; we only want key and mouse events self.ctx = self.recordDisplay.record_create_context( 0, [record.AllClients], [{ 'core_requests': (0, 0), 'core_replies': (0, 0), 'ext_requests': (0, 0, 0, 0), 'ext_replies': (0, 0, 0, 0), 'delivered_events': (0, 0), 'device_events': (X.KeyPress, X.ButtonPress), #X.KeyRelease, 'errors': (0, 0), 'client_started': False, 'client_died': False, }]) # Enable the context; this only returns after a call to record_disable_context, # while calling the callback function in the meantime logger.info("XRecord interface thread starting") self.recordDisplay.record_enable_context(self.ctx, self.__processEvent) # Finally free the context self.recordDisplay.record_free_context(self.ctx) self.recordDisplay.close()
Example #11
Source File: record_demo.py From python-xlib with GNU Lesser General Public License v2.1 | 5 votes |
def record_callback(reply): if reply.category != record.FromServer: return if reply.client_swapped: print("* received swapped protocol data, cowardly ignored") return if not len(reply.data) or reply.data[0] < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, record_dpy.display, None, None) if event.type in [X.KeyPress, X.KeyRelease]: pr = event.type == X.KeyPress and "Press" or "Release" keysym = local_dpy.keycode_to_keysym(event.detail, 0) if not keysym: print("KeyCode%s" % pr, event.detail) else: print("KeyStr%s" % pr, lookup_keysym(keysym)) if event.type == X.KeyPress and keysym == XK.XK_Escape: local_dpy.record_disable_context(ctx) local_dpy.flush() return elif event.type == X.ButtonPress: print("ButtonPress", event.detail) elif event.type == X.ButtonRelease: print("ButtonRelease", event.detail) elif event.type == X.MotionNotify: print("MotionNotify", event.root_x, event.root_y) # Check if the extension is present
Example #12
Source File: pyxhook.py From py-keylogger with MIT License | 5 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent(storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName)
Example #13
Source File: interface.py From autokey with GNU General Public License v3.0 | 5 votes |
def __fakeKeypress(self, keyName): keyCode = self.__lookupKeyCode(keyName) xtest.fake_input(self.rootWindow, X.KeyPress, keyCode) xtest.fake_input(self.rootWindow, X.KeyRelease, keyCode)
Example #14
Source File: interface.py From autokey with GNU General Public License v3.0 | 5 votes |
def __fakeKeyup(self, keyName): keyCode = self.__lookupKeyCode(keyName) xtest.fake_input(self.rootWindow, X.KeyRelease, keyCode)
Example #15
Source File: pyxhook.py From PythonP2PBotnet with MIT License | 5 votes |
def processevents(self, reply): if reply.category != record.FromServer: return if reply.client_swapped: print "* received swapped protocol data, cowardly ignored" return if not len(reply.data) or ord(reply.data[0]) < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, self.record_dpy.display, None, None) if event.type == X.KeyPress: hookevent = self.keypressevent(event) self.KeyDown(hookevent) elif event.type == X.KeyRelease: hookevent = self.keyreleaseevent(event) self.KeyUp(hookevent) elif event.type == X.ButtonPress: hookevent = self.buttonpressevent(event) self.MouseAllButtonsDown(hookevent) elif event.type == X.ButtonRelease: hookevent = self.buttonreleaseevent(event) self.MouseAllButtonsUp(hookevent) elif event.type == X.MotionNotify: # use mouse moves to record mouse position, since press and release events # do not give mouse position info (event.root_x and event.root_y have # bogus info). self.mousemoveevent(event) #print "processing events...", event.type
Example #16
Source File: pyxhook.py From PythonP2PBotnet with MIT License | 5 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent(storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName)
Example #17
Source File: _pyautogui_x11.py From xbmc with GNU General Public License v3.0 | 5 votes |
def _keyDown(key): """Performs a keyboard key press without the release. This will put that key in a held down state. NOTE: For some reason, this does not seem to cause key repeats like would happen if a keyboard key was held down on a text field. Args: key (str): The key to be pressed down. The valid names are listed in pyautogui.KEY_NAMES. Returns: None """ if key not in keyboardMapping or keyboardMapping[key] is None: return if type(key) == int: fake_input(_display, X.KeyPress, key) _display.sync() return needsShift = pyautogui.isShiftCharacter(key) if needsShift: fake_input(_display, X.KeyPress, keyboardMapping['shift']) fake_input(_display, X.KeyPress, keyboardMapping[key]) if needsShift: fake_input(_display, X.KeyRelease, keyboardMapping['shift']) _display.sync()
Example #18
Source File: _pyautogui_x11.py From xbmc with GNU General Public License v3.0 | 5 votes |
def _keyUp(key): """Performs a keyboard key release (without the press down beforehand). Args: key (str): The key to be released up. The valid names are listed in pyautogui.KEY_NAMES. Returns: None """ """ Release a given character key. Also works with character keycodes as integers, but not keysyms. """ if key not in keyboardMapping or keyboardMapping[key] is None: return if type(key) == int: keycode = key else: keycode = keyboardMapping[key] fake_input(_display, X.KeyRelease, keycode) _display.sync() # Taken from PyKeyboard's ctor function.
Example #19
Source File: keyboard.py From deepin-remote-assistance with GNU General Public License v3.0 | 5 votes |
def release_key(code): fake_input(dp, X.KeyRelease, code) dp.sync()
Example #20
Source File: pyxhook.py From Tickeys-linux with MIT License | 5 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent(storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName)
Example #21
Source File: pyxhook.py From Tickeys-linux with MIT License | 5 votes |
def processevents(self, reply): if reply.category != record.FromServer: return if reply.client_swapped: print("* received swapped protocol data, cowardly ignored") return if not len(reply.data) or ord(reply.data[0]) < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, self.record_dpy.display, None, None) if event.type == X.KeyPress: hookevent = self.keypressevent(event) self.KeyDown(hookevent) elif event.type == X.KeyRelease: hookevent = self.keyreleaseevent(event) self.KeyUp(hookevent) elif event.type == X.ButtonPress: hookevent = self.buttonpressevent(event) self.MouseAllButtonsDown(hookevent) elif event.type == X.ButtonRelease: hookevent = self.buttonreleaseevent(event) self.MouseAllButtonsUp(hookevent) elif event.type == X.MotionNotify: # use mouse moves to record mouse position, since press and release events # do not give mouse position info (event.root_x and event.root_y have # bogus info). hookevent = self.mousemoveevent(event) self.MouseMovement(hookevent) #print "processing events...", event.type
Example #22
Source File: pyxhook.py From py-keylogger with MIT License | 5 votes |
def processevents(self, reply): if reply.category != record.FromServer: return if reply.client_swapped: print "* received swapped protocol data, cowardly ignored" return if not len(reply.data) or ord(reply.data[0]) < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, self.record_dpy.display, None, None) if event.type == X.KeyPress: hookevent = self.keypressevent(event) self.KeyDown(hookevent) elif event.type == X.KeyRelease: hookevent = self.keyreleaseevent(event) self.KeyUp(hookevent) elif event.type == X.ButtonPress: hookevent = self.buttonpressevent(event) self.MouseAllButtonsDown(hookevent) elif event.type == X.ButtonRelease: hookevent = self.buttonreleaseevent(event) self.MouseAllButtonsUp(hookevent) elif event.type == X.MotionNotify: # use mouse moves to record mouse position, since press and release events # do not give mouse position info (event.root_x and event.root_y have # bogus info). self.mousemoveevent(event) #print "processing events...", event.type
Example #23
Source File: _pyautogui_x11.py From Dindo-Bot with MIT License | 5 votes |
def _keyUp(key): """Performs a keyboard key release (without the press down beforehand). Args: key (str): The key to be released up. The valid names are listed in pyautogui.KEY_NAMES. Returns: None """ """ Release a given character key. Also works with character keycodes as integers, but not keysyms. """ if key not in keyboardMapping or keyboardMapping[key] is None: return if type(key) == int: keycode = key else: keycode = keyboardMapping[key] fake_input(_display, X.KeyRelease, keycode) _display.sync() # Taken from PyKeyboard's ctor function.
Example #24
Source File: _pyautogui_x11.py From Dindo-Bot with MIT License | 5 votes |
def _keyDown(key): """Performs a keyboard key press without the release. This will put that key in a held down state. NOTE: For some reason, this does not seem to cause key repeats like would happen if a keyboard key was held down on a text field. Args: key (str): The key to be pressed down. The valid names are listed in pyautogui.KEY_NAMES. Returns: None """ if key not in keyboardMapping or keyboardMapping[key] is None: return if type(key) == int: fake_input(_display, X.KeyPress, key) _display.sync() return needsShift = pyautogui.isShiftCharacter(key) if needsShift: fake_input(_display, X.KeyPress, keyboardMapping['shift']) fake_input(_display, X.KeyPress, keyboardMapping[key]) if needsShift: fake_input(_display, X.KeyRelease, keyboardMapping['shift']) _display.sync()
Example #25
Source File: pyxhook.py From botnet-lab with MIT License | 5 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent(storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName)
Example #26
Source File: pyxhook.py From botnet-lab with MIT License | 5 votes |
def processevents(self, reply): if reply.category != record.FromServer: return if reply.client_swapped: print "* received swapped protocol data, cowardly ignored" return if not len(reply.data) or ord(reply.data[0]) < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, self.record_dpy.display, None, None) if event.type == X.KeyPress: hookevent = self.keypressevent(event) self.KeyDown(hookevent) elif event.type == X.KeyRelease: hookevent = self.keyreleaseevent(event) self.KeyUp(hookevent) elif event.type == X.ButtonPress: hookevent = self.buttonpressevent(event) self.MouseAllButtonsDown(hookevent) elif event.type == X.ButtonRelease: hookevent = self.buttonreleaseevent(event) self.MouseAllButtonsUp(hookevent) elif event.type == X.MotionNotify: # use mouse moves to record mouse position, since press and release events # do not give mouse position info (event.root_x and event.root_y have # bogus info). self.mousemoveevent(event) # print "processing events...", event.type
Example #27
Source File: _pyautogui_x11.py From pyautogui with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _keyUp(key): """Performs a keyboard key release (without the press down beforehand). Args: key (str): The key to be released up. The valid names are listed in pyautogui.KEY_NAMES. Returns: None """ """ Release a given character key. Also works with character keycodes as integers, but not keysyms. """ if key not in keyboardMapping or keyboardMapping[key] is None: return if type(key) == int: keycode = key else: keycode = keyboardMapping[key] fake_input(_display, X.KeyRelease, keycode) _display.sync() # Taken from PyKeyboard's ctor function.
Example #28
Source File: _pyautogui_x11.py From pyautogui with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _keyDown(key): """Performs a keyboard key press without the release. This will put that key in a held down state. NOTE: For some reason, this does not seem to cause key repeats like would happen if a keyboard key was held down on a text field. Args: key (str): The key to be pressed down. The valid names are listed in pyautogui.KEY_NAMES. Returns: None """ if key not in keyboardMapping or keyboardMapping[key] is None: return if type(key) == int: fake_input(_display, X.KeyPress, key) _display.sync() return needsShift = pyautogui.isShiftCharacter(key) if needsShift: fake_input(_display, X.KeyPress, keyboardMapping['shift']) fake_input(_display, X.KeyPress, keyboardMapping[key]) if needsShift: fake_input(_display, X.KeyRelease, keyboardMapping['shift']) _display.sync()
Example #29
Source File: pyxhook.py From Python-Programs with GNU General Public License v3.0 | 5 votes |
def makekeyhookevent(self, keysym, event): storewm = self.xwindowinfo() if event.type == X.KeyPress: MessageName = "key down" elif event.type == X.KeyRelease: MessageName = "key up" return pyxhookkeyevent(storewm["handle"], storewm["name"], storewm["class"], self.lookup_keysym(keysym), self.asciivalue(keysym), False, event.detail, MessageName)
Example #30
Source File: pyxhook.py From Python-Programs with GNU General Public License v3.0 | 5 votes |
def processevents(self, reply): if reply.category != record.FromServer: return if reply.client_swapped: print ("* received swapped protocol data, cowardly ignored") return if not len(reply.data) or reply.data[0] < 2: # not an event return data = reply.data while len(data): event, data = rq.EventField(None).parse_binary_value(data, self.record_dpy.display, None, None) if event.type == X.KeyPress: hookevent = self.keypressevent(event) self.KeyDown(hookevent) elif event.type == X.KeyRelease: hookevent = self.keyreleaseevent(event) self.KeyUp(hookevent) elif event.type == X.ButtonPress: hookevent = self.buttonpressevent(event) self.MouseAllButtonsDown(hookevent) elif event.type == X.ButtonRelease: hookevent = self.buttonreleaseevent(event) self.MouseAllButtonsUp(hookevent) elif event.type == X.MotionNotify: # use mouse moves to record mouse position, since press and release events # do not give mouse position info (event.root_x and event.root_y have # bogus info). self.mousemoveevent(event) #print "processing events...", event.type