示例#1
0
文件: main.py 项目: 278Mt/taniguchi
    def keyPressEvent(self, event):

        g = self.game
        _key = event.key()
        if ord('A') <= _key <= ord('Z'):
            key = QKeySequence(_key).toString()
            if key == 'Q':
                self.close()

            g.move(key.lower())
            self.your_fr.update_board(lambda i, j: g.element(i, j))

            super(TetrisWindow, self).keyPressEvent(event)
示例#2
0
 def keyboard_key_pressed(self, key, modifiers):
     if type(key) == int:
         if 0x1001250 <= key <= 0x1001262:
             name = characters.DEAD[key]
         elif 0x41 <= key <= 0x5a or 0x61 <= key <= 0x7a:
             name = chr(key)
         else:
             name = QKeySequence(key).toString()
         try:
             name.encode('utf-8')
         except UnicodeEncodeError:
             return
     else:
         name = key
     k = []
     if self.ui.ignoreModifiersCheck.isChecked():
         modifiers = 0x0
     if modifiers & Qt.KeypadModifier:
         name = 'KP_' + name
     if self.ui.composeCheck.isChecked():
         k.append('Multi_key')
     if self.ui.ctrlCheck.isChecked() or (modifiers & Qt.ControlModifier):
         k.append('Ctrl')
     if self.ui.shiftCheck.isChecked() or (modifiers & Qt.ShiftModifier):
         k.append('Shift')
     if self.ui.altCheck.isChecked() or (modifiers & Qt.AltModifier):
         k.append('Alt')
     if self.ui.superCheck.isChecked() or (modifiers & Qt.MetaModifier):
         k.append('Super')
     if self.ui.altGrCheck.isChecked():
         k.append('ISO_Level3_Shift')
     if name in characters.CHARACTERS:
         name = characters.CHARACTERS[name]
     if len(name) == 1:
         name = name.lower()
     k.append(name)
     key_str = '+'.join(k)
     self.ui.lastKeyTitleLabel.setText('Last key sent:')
     self.ui.lastKeyLabel.setText(key_str)
     display = str(self.ui.displayField.text())
     cmd = 'DISPLAY=' + shlex.quote(display) + ' '
     if self.lock_keys['Num'] and \
             ((key_str[-1] in digits and key_str[:-1].endswith('KP_')) \
             or key_str.endswith('KP_Separator')):
         cmd += 'xdotool key Num_Lock ' + shlex.quote(key_str) + ' Num_Lock'
     else:
         cmd += 'xdotool key ' + shlex.quote(key_str)
     self.connection.run(cmd)
示例#3
0
    def text(self):
        """Get the text which would be displayed when pressing this key."""
        control = {
            Qt.Key_Space: ' ',
            Qt.Key_Tab: '\t',
            Qt.Key_Backspace: '\b',
            Qt.Key_Return: '\r',
            Qt.Key_Enter: '\r',
            Qt.Key_Escape: '\x1b',
        }

        if self.key in control:
            return control[self.key]
        elif not _is_printable(self.key):
            return ''

        text = QKeySequence(self.key).toString()
        if not self.modifiers & Qt.ShiftModifier:
            text = text.lower()
        return text
示例#4
0
    def text(self):
        """Get the text which would be displayed when pressing this key."""
        control = {
            Qt.Key_Space: ' ',
            Qt.Key_Tab: '\t',
            Qt.Key_Backspace: '\b',
            Qt.Key_Return: '\r',
            Qt.Key_Enter: '\r',
            Qt.Key_Escape: '\x1b',
        }

        if self.key in control:
            return control[self.key]
        elif not _is_printable(self.key):
            return ''

        text = QKeySequence(self.key).toString()
        if not self.modifiers & Qt.ShiftModifier:
            text = text.lower()
        return text