You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.6 KiB
92 lines
2.6 KiB
#!/usr/bin/env python |
|
# -*- coding: utf-8 -*- |
|
|
|
# Copyright (C) 2018 Andy Stewart |
|
# |
|
# Author: Andy Stewart <lazycat.manatee@gmail.com> |
|
# Maintainer: Andy Stewart <lazycat.manatee@gmail.com> |
|
# |
|
# 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 <http://www.gnu.org/licenses/>. |
|
|
|
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_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, |
|
'''<home>''' : Qt.Key_Home, |
|
'''<end>''' : Qt.Key_End, |
|
'''<left>''' : Qt.Key_Left, |
|
'''<right>''' : Qt.Key_Right, |
|
'''<up>''' : Qt.Key_Up, |
|
'''<down>''' : Qt.Key_Down, |
|
'''<prior>''' : Qt.Key_PageUp, |
|
'''<nex>''' : 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)
|
|
|