Python Xlib.X.KeyPress() Examples
The following are 30
code examples of Xlib.X.KeyPress().
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: 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 #2
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 #3
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 #4
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 #5
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 #6
Source File: interface.py From autokey with GNU General Public License v3.0 | 6 votes |
def __sendKeyPressEvent(self, keyCode, modifiers, theWindow=None): if theWindow is None: focus = self.localDisplay.get_input_focus().focus else: focus = theWindow keyEvent = event.KeyPress( 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 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 #8
Source File: pyxhook.py From Python-Programs with GNU General Public License v3.0 | 6 votes |
def __init__(self): threading.Thread.__init__(self) self.finished = threading.Event() # Give these some initial values self.mouse_position_x = 0 self.mouse_position_y = 0 self.ison = {"shift":False, "caps":False} # Compile our regex statements. self.isshift = re.compile('^Shift') self.iscaps = re.compile('^Caps_Lock') self.shiftablechar = re.compile('^[a-z0-9]$|^minus$|^equal$|^bracketleft$|^bracketright$|^semicolon$|^backslash$|^apostrophe$|^comma$|^period$|^slash$|^grave$') self.logrelease = re.compile('.*') self.isspace = re.compile('^space$') # Assign default function actions (do nothing). self.KeyDown = lambda x: True self.KeyUp = lambda x: True self.MouseAllButtonsDown = lambda x: True self.MouseAllButtonsUp = lambda x: True self.contextEventMask = [X.KeyPress,X.MotionNotify] # Hook to our display. self.local_dpy = display.Display() self.record_dpy = display.Display()
Example #9
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 #10
Source File: pyxhook.py From MouseTracks with GNU General Public License v3.0 | 5 votes |
def run(self): # Check if the extension is present if not self.record_dpy.has_extension("RECORD"): print("RECORD extension not found", file=sys.stderr) sys.exit(1) # r = self.record_dpy.record_get_version(0, 0) # print("RECORD extension version {major}.{minor}".format( # major=r.major_version, # minor=r.minor_version # )) # Create a recording context; we only want key and mouse events self.ctx = self.record_dpy.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), # (X.KeyPress, X.ButtonPress), 'device_events': tuple(self.contextEventMask), '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 self.record_dpy.record_enable_context(self.ctx, self.processevents) # Finally free the context self.record_dpy.record_free_context(self.ctx)
Example #11
Source File: pyxhook.py From Python-Programs with GNU General Public License v3.0 | 5 votes |
def HookKeyboard(self): pass # We don't need to do anything here anymore, since the default mask # is now set to contain X.KeyPress #self.contextEventMask[0] = X.KeyPress
Example #12
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 #13
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 #14
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 #15
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 #16
Source File: interface.py From autokey with GNU General Public License v3.0 | 5 votes |
def __fakeKeydown(self, keyName): keyCode = self.__lookupKeyCode(keyName) xtest.fake_input(self.rootWindow, X.KeyPress, keyCode)
Example #17
Source File: keyboard.py From iris with Mozilla Public License 2.0 | 5 votes |
def key_down(self, key): """Performs a keyboard key press without the release. This will put that key in a held down state. :param key: The key to be pressed down. 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): fake_input(self.display, X.KeyPress, key) self.display.sync() return needs_shift = is_shift_character(key) if needs_shift: fake_input(self.display, X.KeyPress, self.keyboard_mapping("shift")) fake_input(self.display, X.KeyPress, self.keyboard_mapping(key)) if needs_shift: fake_input(self.display, X.KeyRelease, self.keyboard_mapping("shift")) self.display.sync()
Example #18
Source File: pygrid.py From pygrid with GNU General Public License v2.0 | 5 votes |
def _check_event(self, source, condition, handle=None): """ Check keyboard event has all the right buttons pressed. """ handle = handle or self.root.display for _ in range(0, handle.pending_events()): event = handle.next_event() if event.type == X.KeyPress: command = self.keys[event.detail] self._handle_event(command) return True
Example #19
Source File: pyxhook.py From MouseTracks with GNU General Public License v3.0 | 5 votes |
def __init__(self): threading.Thread.__init__(self) self.finished = threading.Event() # Give these some initial values self.mouse_position_x = 0 self.mouse_position_y = 0 self.ison = {"shift": False, "caps": False} # Compile our regex statements. self.isshift = re.compile('^Shift') self.iscaps = re.compile('^Caps_Lock') self.shiftablechar = re.compile('|'.join(( '^[a-z0-9]$', '^minus$', '^equal$', '^bracketleft$', '^bracketright$', '^semicolon$', '^backslash$', '^apostrophe$', '^comma$', '^period$', '^slash$', '^grave$' ))) self.logrelease = re.compile('.*') self.isspace = re.compile('^space$') # Assign default function actions (do nothing). self.KeyDown = lambda x: True self.KeyUp = lambda x: True self.MouseAllButtonsDown = lambda x: True self.MouseAllButtonsUp = lambda x: True self.MouseMovement = lambda x: True self.contextEventMask = [X.KeyPress, X.MotionNotify] # Hook to our display. self.local_dpy = display.Display() self.record_dpy = display.Display()
Example #20
Source File: pyxhook.py From Tickeys-linux with MIT License | 5 votes |
def HookKeyboard(self): pass # We don't need to do anything here anymore, since the default mask # is now set to contain X.KeyPress #self.contextEventMask[0] = X.KeyPress
Example #21
Source File: pyxhook.py From MouseTracks with GNU General Public License v3.0 | 5 votes |
def HookKeyboard(self): # We don't need to do anything here anymore, since the default mask # is now set to contain X.KeyPress # self.contextEventMask[0] = X.KeyPress pass
Example #22
Source File: pyxhook.py From PythonP2PBotnet with MIT License | 5 votes |
def __init__(self): threading.Thread.__init__(self) self.finished = threading.Event() # Give these some initial values self.mouse_position_x = 0 self.mouse_position_y = 0 self.ison = {"shift":False, "caps":False} # Compile our regex statements. self.isshift = re.compile('^Shift') self.iscaps = re.compile('^Caps_Lock') self.shiftablechar = re.compile('^[a-z0-9]$|^minus$|^equal$|^bracketleft$|^bracketright$|^semicolon$|^backslash$|^apostrophe$|^comma$|^period$|^slash$|^grave$') self.logrelease = re.compile('.*') self.isspace = re.compile('^space$') # Assign default function actions (do nothing). self.KeyDown = lambda x: True self.KeyUp = lambda x: True self.MouseAllButtonsDown = lambda x: True self.MouseAllButtonsUp = lambda x: True self.contextEventMask = [X.KeyPress,X.MotionNotify] # Hook to our display. self.local_dpy = display.Display() self.record_dpy = display.Display()
Example #23
Source File: pyxhook.py From PythonP2PBotnet with MIT License | 5 votes |
def run(self): # Check if the extension is present if not self.record_dpy.has_extension("RECORD"): print "RECORD extension not found" sys.exit(1) r = self.record_dpy.record_get_version(0, 0) #print "RECORD extension version %d.%d" % (r.major_version, r.minor_version) # Create a recording context; we only want key and mouse events self.ctx = self.record_dpy.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': tuple(self.contextEventMask), #(X.KeyPress, X.ButtonPress), '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 self.record_dpy.record_enable_context(self.ctx, self.processevents) # Finally free the context self.record_dpy.record_free_context(self.ctx)
Example #24
Source File: pyxhook.py From PythonP2PBotnet with MIT License | 5 votes |
def HookKeyboard(self): pass # We don't need to do anything here anymore, since the default mask # is now set to contain X.KeyPress #self.contextEventMask[0] = X.KeyPress
Example #25
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 #26
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 #27
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 #28
Source File: keyboard.py From deepin-remote-assistance with GNU General Public License v3.0 | 5 votes |
def press_key(code): fake_input(dp, X.KeyPress, code) dp.sync()
Example #29
Source File: main.py From inkscape-shortcut-manager with MIT License | 5 votes |
def press(self, key, mask=X.NONE): keycode = self.string_to_keycode(key) self.inkscape.send_event(self.event(event.KeyPress, keycode, mask), propagate=True) self.inkscape.send_event(self.event(event.KeyRelease, keycode, mask), propagate=True) self.disp.flush() self.disp.sync()
Example #30
Source File: pyxhook.py From botnet-lab with MIT License | 5 votes |
def run(self): # Check if the extension is present if not self.record_dpy.has_extension("RECORD"): # print "RECORD extension not found" sys.exit(1) r = self.record_dpy.record_get_version(0, 0) # print "RECORD extension version %d.%d" % (r.major_version, r.minor_version) # Create a recording context; we only want key and mouse events self.ctx = self.record_dpy.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': tuple(self.contextEventMask), # (X.KeyPress, X.ButtonPress), '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 self.record_dpy.record_enable_context(self.ctx, self.processevents) # Finally free the context self.record_dpy.record_free_context(self.ctx)