#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2018 Andy Stewart # # Author: Andy Stewart # Maintainer: Andy Stewart # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . from PyQt5.QtCore import Qt, QEvent from PyQt5.QtGui import QKeyEvent qt_key_dict = { '''a''' : Qt.Key_A, '''b''' : Qt.Key_B, '''c''' : Qt.Key_C, '''d''' : Qt.Key_D, '''e''' : Qt.Key_E, '''f''' : Qt.Key_F, '''g''' : Qt.Key_G, '''h''' : Qt.Key_H, '''i''' : Qt.Key_I, '''j''' : Qt.Key_J, '''k''' : Qt.Key_K, '''l''' : Qt.Key_L, '''m''' : Qt.Key_M, '''n''' : Qt.Key_N, '''o''' : Qt.Key_O, '''p''' : Qt.Key_P, '''q''' : Qt.Key_Q, '''r''' : Qt.Key_R, '''s''' : Qt.Key_S, '''t''' : Qt.Key_T, '''u''' : Qt.Key_U, '''v''' : Qt.Key_V, '''w''' : Qt.Key_W, '''x''' : Qt.Key_X, '''y''' : Qt.Key_Y, '''z''' : Qt.Key_Z, '''0''' : Qt.Key_0, '''1''' : Qt.Key_1, '''2''' : Qt.Key_2, '''3''' : Qt.Key_3, '''4''' : Qt.Key_4, '''5''' : Qt.Key_5, '''6''' : Qt.Key_6, '''7''' : Qt.Key_7, '''8''' : Qt.Key_8, '''9''' : Qt.Key_9, ''';''' : Qt.Key_Semicolon, '''.''' : Qt.Key_Period, ''',''' : Qt.Key_Comma, '''+''' : Qt.Key_Plus, '''-''' : Qt.Key_Minus, '''=''' : Qt.Key_Equal, '''@''' : Qt.Key_At, '''"''' : Qt.Key_QuoteDbl, '''$''' : Qt.Key_Dollar, '''%''' : Qt.Key_Percent, '''SPC''' : Qt.Key_Space, '''RET''' : Qt.Key_Return, '''DEL''' : Qt.Key_Backspace, '''TAB''' : Qt.Key_Tab, '''''' : Qt.Key_Home, '''''' : Qt.Key_End, '''''' : Qt.Key_Left, '''''' : Qt.Key_Right, '''''' : Qt.Key_Up, '''''' : Qt.Key_Down, '''''' : Qt.Key_PageUp, '''''' : Qt.Key_PageDown, } qt_text_dict = { "SPC" : " " } def fake_key_event(event_string): text = event_string if event_string in qt_text_dict: text = qt_text_dict[event_string] return QKeyEvent(QEvent.KeyPress, qt_key_dict[event_string], Qt.NoModifier, text)