keyboard.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:hazzy 作者: KurtJacobson 项目源码 文件源码
def emulate_key(self, widget, key=None):
        try:
            event = gtk.gdk.Event(gtk.gdk.KEY_PRESS)

            if key:
                event.keyval = int(gtk.gdk.keyval_from_name(key))
            else:
                event.keyval = ord(widget.get_label())

            event.hardware_keycode = _keymap.get_entries_for_keyval(event.keyval)[0][0]

            # add control mask if ctrl is active
            if self.builder.get_object('ctrl').get_active():
                event.state = gtk.gdk.CONTROL_MASK
                self.builder.get_object('ctrl').set_active(False)

            event.window = self.entry.window
            self.entry.event(event)    # Do the initial event

            # Call key repeat function every 50ms
            self.wait_counter = 0      # Set counter for repeat timeout
            gobject.timeout_add(50, self.key_repeat, widget, event)

        except Exception as e:
            log.exception(e)
            #log.error("HAZZY KEYBOARD ERROR: key emulation error - " + str(e))
            self.window.hide()

        # Unshift if left shift is active, right shift is "sticky"
        if self.builder.get_object('left_shift').get_active():
            self.shift(False)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号