Browse Source

Initial drop of TTkShortcut

Dispose_Widget
Eugenio Parodi 2 years ago
parent
commit
99c8624440
  1. 67
      TermTk/TTkCore/shortcut.py
  2. 657
      tests/timeit/16.dict.04.get.py

67
TermTk/TTkCore/shortcut.py

@ -0,0 +1,67 @@
# MIT License
#
# Copyright (c) 2024 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
__all__ = ['TTkShortcut']
from TermTk.TTkCore.constant import TTkK
from TermTk.TTkCore.helper import TTkHelper
from TermTk.TTkCore.signal import pyTTkSlot, pyTTkSignal
class TTkStandardKey():
pass
class TTkKeySequence():
pass
class TTkShortcut():
_shortcuts = {}
__slots__ = (
'_key', '_parent', '_shortcutContext',
# Signals
'activated')
def __init__(self,
key, parent=None,
shortcutContext: TTkK.ShortcutContext = TTkK.ShortcutContext.WindowShortcut):
self._key = key
self._parent = parent
self._shortcutContext = shortcutContext
# Signals
self.activated = pyTTkSignal()
if key not in TTkShortcut._shortcuts:
TTkShortcut._shortcuts[key] = []
TTkShortcut._shortcuts[key].append(self)
@staticmethod
def processKey(key, focusWidget):
if key in TTkShortcut._shortcuts:
for sc in TTkShortcut._shortcuts[key]:
if ( ( sc._shortcutContext == TTkK.WidgetShortcut
and focusWidget == sc._parent )
or ( sc._shortcutContext == TTkK.WidgetWithChildrenShortcut
and ( focusWidget == sc._parent
or TTkHelper.isParent(sc._parent,focusWidget) ) )
or ( sc._shortcutContext == TTkK.WindowShortcut )
or ( sc._shortcutContext == TTkK.ApplicationShortcut )):
if sc.activated._connected_slots:
sc.activated.emit()
return True
return False

657
tests/timeit/16.dict.04.get.py

@ -0,0 +1,657 @@
#!/usr/bin/env python3
# MIT License
#
# Copyright (c) 2023 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import sys, os
import timeit
sys.path.append(os.path.join(sys.path[0],'../..'))
from TermTk import TTkK
testInput = ['\033\x1a', '\033\x4f', '\033\x68', '\x08', "\033[1;5R", "\033[1;4F", "\033[1;3B", "\177"]
def _translate_key1(key):
return {
"\177" : ( TTkK.Key_Backspace , TTkK.NoModifier ) ,
"\t" : ( TTkK.Key_Tab , TTkK.NoModifier ) ,
"\033[Z" : ( TTkK.Key_Tab , TTkK.ShiftModifier ) ,
"\n" : ( TTkK.Key_Enter , TTkK.NoModifier ) ,
"\r" : ( TTkK.Key_Enter , TTkK.NoModifier ) ,
"\033[A" : ( TTkK.Key_Up , TTkK.NoModifier ) ,
"\033[B" : ( TTkK.Key_Down , TTkK.NoModifier ) ,
"\033[C" : ( TTkK.Key_Right , TTkK.NoModifier ) ,
"\033[D" : ( TTkK.Key_Left , TTkK.NoModifier ) ,
"\033[1;2A" : ( TTkK.Key_Up , TTkK.ShiftModifier ) ,
"\033[1;2B" : ( TTkK.Key_Down , TTkK.ShiftModifier ) ,
"\033[1;2C" : ( TTkK.Key_Right , TTkK.ShiftModifier ) ,
"\033[1;2D" : ( TTkK.Key_Left , TTkK.ShiftModifier ) ,
"\033[1;3A" : ( TTkK.Key_Up , TTkK.AltModifier ) ,
"\033[1;3B" : ( TTkK.Key_Down , TTkK.AltModifier ) ,
"\033[1;3C" : ( TTkK.Key_Right , TTkK.AltModifier ) ,
"\033[1;3D" : ( TTkK.Key_Left , TTkK.AltModifier ) ,
"\033[1;4A" : ( TTkK.Key_Up , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;4B" : ( TTkK.Key_Down , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;4C" : ( TTkK.Key_Right , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;4D" : ( TTkK.Key_Left , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;5A" : ( TTkK.Key_Up , TTkK.ControlModifier ) ,
"\033[1;5B" : ( TTkK.Key_Down , TTkK.ControlModifier ) ,
"\033[1;5C" : ( TTkK.Key_Right , TTkK.ControlModifier ) ,
"\033[1;5D" : ( TTkK.Key_Left , TTkK.ControlModifier ) ,
"\033[5~" : ( TTkK.Key_PageUp , TTkK.NoModifier ) ,
"\033[6~" : ( TTkK.Key_PageDown , TTkK.NoModifier ) ,
"\033[5;2~" : ( TTkK.Key_PageUp , TTkK.ShiftModifier ) ,
"\033[6;2~" : ( TTkK.Key_PageDown , TTkK.ShiftModifier ) ,
"\033[5;3~" : ( TTkK.Key_PageUp , TTkK.AltModifier ) ,
"\033[6;3~" : ( TTkK.Key_PageDown , TTkK.AltModifier ) ,
"\033[5;4~" : ( TTkK.Key_PageUp , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[6;4~" : ( TTkK.Key_PageDown , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[5;5~" : ( TTkK.Key_PageUp , TTkK.ControlModifier ) ,
"\033[6;5~" : ( TTkK.Key_PageDown , TTkK.ControlModifier ) ,
"\033[5;7~" : ( TTkK.Key_PageUp , TTkK.AltModifier | TTkK.ControlModifier ) ,
"\033[6;7~" : ( TTkK.Key_PageDown , TTkK.AltModifier | TTkK.ControlModifier ) ,
# Xterm
"\033[F" : ( TTkK.Key_End , TTkK.NoModifier ) ,
"\033[H" : ( TTkK.Key_Home , TTkK.NoModifier ) ,
# Terminator + tmux
"\033[4~" : ( TTkK.Key_End , TTkK.NoModifier ) ,
"\033[1~" : ( TTkK.Key_Home , TTkK.NoModifier ) ,
"\033[2~" : ( TTkK.Key_Insert , TTkK.NoModifier ) ,
"\033[3~" : ( TTkK.Key_Delete , TTkK.NoModifier ) ,
"\033[1;2F" : ( TTkK.Key_End , TTkK.ShiftModifier ) ,
"\033[1;2H" : ( TTkK.Key_Home , TTkK.ShiftModifier ) ,
"\033[2;2~" : ( TTkK.Key_Insert , TTkK.ShiftModifier ) ,
"\033[3;2~" : ( TTkK.Key_Delete , TTkK.ShiftModifier ) ,
"\033[1;3F" : ( TTkK.Key_End , TTkK.AltModifier ) ,
"\033[1;3H" : ( TTkK.Key_Home , TTkK.AltModifier ) ,
"\033[2;3~" : ( TTkK.Key_Insert , TTkK.AltModifier ) ,
"\033[3;3~" : ( TTkK.Key_Delete , TTkK.AltModifier ) ,
"\033[1;4F" : ( TTkK.Key_End , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[1;4H" : ( TTkK.Key_Home , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[2;4~" : ( TTkK.Key_Insert , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[3;4~" : ( TTkK.Key_Delete , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[1;5F" : ( TTkK.Key_End , TTkK.ControlModifier ) ,
"\033[1;5H" : ( TTkK.Key_Home , TTkK.ControlModifier ) ,
"\033[2;5~" : ( TTkK.Key_Insert , TTkK.ControlModifier ) ,
"\033[3;5~" : ( TTkK.Key_Delete , TTkK.ControlModifier ) ,
"\033[1;6F" : ( TTkK.Key_End , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[1;6H" : ( TTkK.Key_Home , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[2;6~" : ( TTkK.Key_Insert , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[3;6~" : ( TTkK.Key_Delete , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[1;7F" : ( TTkK.Key_End , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[1;7H" : ( TTkK.Key_Home , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[2;7~" : ( TTkK.Key_Insert , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[3;7~" : ( TTkK.Key_Delete , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[1;8F" : ( TTkK.Key_End , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[1;8H" : ( TTkK.Key_Home , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[2;8~" : ( TTkK.Key_Insert , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[3;8~" : ( TTkK.Key_Delete , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033" : ( TTkK.Key_Escape , TTkK.NoModifier ) ,
# Function Key
"\033OP" : ( TTkK.Key_F1 , TTkK.NoModifier ) ,
"\033OQ" : ( TTkK.Key_F2 , TTkK.NoModifier ) ,
"\033OR" : ( TTkK.Key_F3 , TTkK.NoModifier ) ,
"\033OS" : ( TTkK.Key_F4 , TTkK.NoModifier ) ,
"\033[15~" : ( TTkK.Key_F5 , TTkK.NoModifier ) ,
"\033[17~" : ( TTkK.Key_F6 , TTkK.NoModifier ) ,
"\033[18~" : ( TTkK.Key_F7 , TTkK.NoModifier ) ,
"\033[19~" : ( TTkK.Key_F8 , TTkK.NoModifier ) ,
"\033[20~" : ( TTkK.Key_F9 , TTkK.NoModifier ) ,
"\033[21~" : ( TTkK.Key_F10 , TTkK.NoModifier ) ,
"\033[23~" : ( TTkK.Key_F11 , TTkK.NoModifier ) ,
"\033[24~" : ( TTkK.Key_F12 , TTkK.NoModifier ) ,
"\033[1;2P" : ( TTkK.Key_F1 , TTkK.ShiftModifier ) ,
"\033[1;2Q" : ( TTkK.Key_F2 , TTkK.ShiftModifier ) ,
"\033[1;2R" : ( TTkK.Key_F3 , TTkK.ShiftModifier ) ,
"\033[1;2S" : ( TTkK.Key_F4 , TTkK.ShiftModifier ) ,
"\033[15;2~": ( TTkK.Key_F5 , TTkK.ShiftModifier ) ,
"\033[17;2~": ( TTkK.Key_F6 , TTkK.ShiftModifier ) ,
"\033[18;2~": ( TTkK.Key_F7 , TTkK.ShiftModifier ) ,
"\033[19;2~": ( TTkK.Key_F8 , TTkK.ShiftModifier ) ,
"\033[20;2~": ( TTkK.Key_F9 , TTkK.ShiftModifier ) ,
"\033[21;2~": ( TTkK.Key_F10 , TTkK.ShiftModifier ) ,
"\033[23;2~": ( TTkK.Key_F11 , TTkK.ShiftModifier ) ,
"\033[24;2~": ( TTkK.Key_F12 , TTkK.ShiftModifier ) ,
"\033[1;5P" : ( TTkK.Key_F1 , TTkK.ControlModifier ) ,
"\033[1;5Q" : ( TTkK.Key_F2 , TTkK.ControlModifier ) ,
"\033[1;5R" : ( TTkK.Key_F3 , TTkK.ControlModifier ) ,
"\033[1;5S" : ( TTkK.Key_F4 , TTkK.ControlModifier ) ,
"\033[15;5~": ( TTkK.Key_F5 , TTkK.ControlModifier ) ,
"\033[17;5~": ( TTkK.Key_F6 , TTkK.ControlModifier ) ,
"\033[18;5~": ( TTkK.Key_F7 , TTkK.ControlModifier ) ,
"\033[19;5~": ( TTkK.Key_F8 , TTkK.ControlModifier ) ,
"\033[20;5~": ( TTkK.Key_F9 , TTkK.ControlModifier ) ,
"\033[21;5~": ( TTkK.Key_F10 , TTkK.ControlModifier ) ,
"\033[23;5~": ( TTkK.Key_F11 , TTkK.ControlModifier ) ,
"\033[24;5~": ( TTkK.Key_F12 , TTkK.ControlModifier ) ,
# "\033[1;3P" : ( TTkK.Key_F1 , TTkK.AltModifier ) ,
# "\033[1;3Q" : ( TTkK.Key_F2 , TTkK.AltModifier ) ,
"\033[1;3R" : ( TTkK.Key_F3 , TTkK.AltModifier ) ,
# "\033[1;3S" : ( TTkK.Key_F4 , TTkK.AltModifier ) ,
# "\033[15;3~": ( TTkK.Key_F5 , TTkK.AltModifier ) ,
"\033[17;3~": ( TTkK.Key_F6 , TTkK.AltModifier ) ,
# "\033[18;3~": ( TTkK.Key_F7 , TTkK.AltModifier ) ,
# "\033[19;3~": ( TTkK.Key_F8 , TTkK.AltModifier ) ,
"\033[20;3~": ( TTkK.Key_F9 , TTkK.AltModifier ) ,
# "\033[21;3~": ( TTkK.Key_F10 , TTkK.AltModifier ) ,
"\033[23;3~": ( TTkK.Key_F11 , TTkK.AltModifier ) ,
"\033[24;3~": ( TTkK.Key_F12 , TTkK.AltModifier ) ,
'\x01': ( TTkK.Key_A , TTkK.ControlModifier ),
'\x02': ( TTkK.Key_B , TTkK.ControlModifier ),
'\x03': ( TTkK.Key_C , TTkK.ControlModifier ),
'\x04': ( TTkK.Key_D , TTkK.ControlModifier ),
'\x05': ( TTkK.Key_E , TTkK.ControlModifier ),
'\x06': ( TTkK.Key_F , TTkK.ControlModifier ),
'\x07': ( TTkK.Key_G , TTkK.ControlModifier ),
'\x08': ( TTkK.Key_H , TTkK.ControlModifier ),
# '\x09': ( TTkK.Key_I , TTkK.ControlModifier ), # Tab = '\t' = 0x09
'\x0a': ( TTkK.Key_J , TTkK.ControlModifier ), # Enter = '\n' = 0x0a
'\x0b': ( TTkK.Key_K , TTkK.ControlModifier ),
'\x0c': ( TTkK.Key_L , TTkK.ControlModifier ),
# '\x0d': ( TTkK.Key_M , TTkK.ControlModifier ), # Enter = '\r' = 0x0d
'\x0e': ( TTkK.Key_N , TTkK.ControlModifier ),
'\x0f': ( TTkK.Key_O , TTkK.ControlModifier ),
'\x10': ( TTkK.Key_P , TTkK.ControlModifier ),
'\x11': ( TTkK.Key_Q , TTkK.ControlModifier ),
'\x12': ( TTkK.Key_R , TTkK.ControlModifier ),
'\x13': ( TTkK.Key_S , TTkK.ControlModifier ),
'\x14': ( TTkK.Key_T , TTkK.ControlModifier ),
'\x15': ( TTkK.Key_U , TTkK.ControlModifier ),
'\x16': ( TTkK.Key_V , TTkK.ControlModifier ),
'\x17': ( TTkK.Key_W , TTkK.ControlModifier ),
'\x18': ( TTkK.Key_X , TTkK.ControlModifier ),
'\x19': ( TTkK.Key_Y , TTkK.ControlModifier ),
'\x1a': ( TTkK.Key_Z , TTkK.ControlModifier ),
'\033\x61': ( TTkK.Key_A , TTkK.AltModifier ),
'\033\x62': ( TTkK.Key_B , TTkK.AltModifier ),
'\033\x63': ( TTkK.Key_C , TTkK.AltModifier ),
'\033\x64': ( TTkK.Key_D , TTkK.AltModifier ),
'\033\x65': ( TTkK.Key_E , TTkK.AltModifier ),
'\033\x66': ( TTkK.Key_F , TTkK.AltModifier ),
'\033\x67': ( TTkK.Key_G , TTkK.AltModifier ),
'\033\x68': ( TTkK.Key_H , TTkK.AltModifier ),
'\033\x69': ( TTkK.Key_I , TTkK.AltModifier ),
'\033\x6a': ( TTkK.Key_J , TTkK.AltModifier ),
'\033\x6b': ( TTkK.Key_K , TTkK.AltModifier ),
'\033\x6c': ( TTkK.Key_L , TTkK.AltModifier ),
'\033\x6d': ( TTkK.Key_M , TTkK.AltModifier ),
'\033\x6e': ( TTkK.Key_N , TTkK.AltModifier ),
'\033\x6f': ( TTkK.Key_O , TTkK.AltModifier ),
'\033\x70': ( TTkK.Key_P , TTkK.AltModifier ),
'\033\x71': ( TTkK.Key_Q , TTkK.AltModifier ),
'\033\x72': ( TTkK.Key_R , TTkK.AltModifier ),
'\033\x73': ( TTkK.Key_S , TTkK.AltModifier ),
'\033\x74': ( TTkK.Key_T , TTkK.AltModifier ),
'\033\x75': ( TTkK.Key_U , TTkK.AltModifier ),
'\033\x76': ( TTkK.Key_V , TTkK.AltModifier ),
'\033\x77': ( TTkK.Key_W , TTkK.AltModifier ),
'\033\x78': ( TTkK.Key_X , TTkK.AltModifier ),
'\033\x79': ( TTkK.Key_Y , TTkK.AltModifier ),
'\033\x7a': ( TTkK.Key_Z , TTkK.AltModifier ),
'\033\x41': ( TTkK.Key_A , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x42': ( TTkK.Key_B , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x43': ( TTkK.Key_C , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x44': ( TTkK.Key_D , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x45': ( TTkK.Key_E , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x46': ( TTkK.Key_F , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x47': ( TTkK.Key_G , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x48': ( TTkK.Key_H , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x49': ( TTkK.Key_I , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4a': ( TTkK.Key_J , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4b': ( TTkK.Key_K , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4c': ( TTkK.Key_L , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4d': ( TTkK.Key_M , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4e': ( TTkK.Key_N , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4f': ( TTkK.Key_O , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x50': ( TTkK.Key_P , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x51': ( TTkK.Key_Q , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x52': ( TTkK.Key_R , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x53': ( TTkK.Key_S , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x54': ( TTkK.Key_T , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x55': ( TTkK.Key_U , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x56': ( TTkK.Key_V , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x57': ( TTkK.Key_W , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x58': ( TTkK.Key_X , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x59': ( TTkK.Key_Y , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x5a': ( TTkK.Key_Z , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x01': ( TTkK.Key_A , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x02': ( TTkK.Key_B , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x03': ( TTkK.Key_C , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x04': ( TTkK.Key_D , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x05': ( TTkK.Key_E , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x06': ( TTkK.Key_F , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x07': ( TTkK.Key_G , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x08': ( TTkK.Key_H , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x09': ( TTkK.Key_I , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0a': ( TTkK.Key_J , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0b': ( TTkK.Key_K , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0c': ( TTkK.Key_L , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0d': ( TTkK.Key_M , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0e': ( TTkK.Key_N , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0f': ( TTkK.Key_O , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x10': ( TTkK.Key_P , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x11': ( TTkK.Key_Q , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x12': ( TTkK.Key_R , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x13': ( TTkK.Key_S , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x14': ( TTkK.Key_T , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x15': ( TTkK.Key_U , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x16': ( TTkK.Key_V , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x17': ( TTkK.Key_W , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x18': ( TTkK.Key_X , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x19': ( TTkK.Key_Y , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x1a': ( TTkK.Key_Z , TTkK.ControlModifier | TTkK.AltModifier ),
# # "\033": return( ey_Tab ) ,
# if True: return None
# "\033": return( ey_Backtab ) ,
# "\033": return( ey_Backspace ) ,
# "\033": return( ey_Return ) ,
# "\033": return( ey_Enter ) ,
# "\033": return( ey_Pause ) ,
# "\033": return( ey_Print ) ,
# "\033": return( ey_SysReq ) ,
# "\033": return( ey_Clear ) ,
# "\033": return( ey_Shift ) ,
# "\033": return( ey_Control ) ,
# "\033": return( ey_Meta ) ,
# "\033": return( ey_Alt ) ,
# "\033": return( ey_AltGr ) ,
# "\033": return( ey_CapsLock ) ,
# "\033": return( ey_NumLock ) ,
# "\033": return( ey_ScrollLock ) ,
# "\033": return( ey_F13 ) ,
# "\033": return( ey_F14 ) ,
# "\033": return( ey_F15 ) ,
# "\033": return( ey_F16 ) ,
# "\033": return( ey_F17 ) ,
# "\033": return( ey_F18 ) ,
# "\033": return( ey_F19 ) ,
# "\033": return( ey_F20 ) ,
# "\033": return( ey_F21 ) ,
# "\033": return( ey_F22 ) ,
# "\033": return( ey_F23 ) ,
# "\033": return( ey_F24 ) ,
# "\033": return( ey_F25 ) ,
# "\033": return( ey_F26 ) ,
# "\033": return( ey_F27 ) ,
# "\033": return( ey_F28 ) ,
# "\033": return( ey_F29 ) ,
# "\033": return( ey_F30 ) ,
# "\033": return( ey_F31 ) ,
# "\033": return( ey_F32 ) ,
# "\033": return( ey_F33 ) ,
# "\033": return( ey_F34 ) ,
# "\033": return( ey_F35 ) ,
# "\033": return( ey_Super_L ) ,
# "\033": return( ey_Super_R ) ,
# "\033": return( ey_Menu ) ,
# "\033": return( ey_Hyper_L ) ,
# "\033": return( ey_Hyper_R ) ,
# "\033": return( ey_Help ) ,
# "\033": return( ey_Direction_L ) ,
# "\033": return( ey_Direction_R ) ,
# "\033": return( ey_Space ) ,
# "\033": return( ey_Any ) ,
# return TTkK.NONE
}.get(key,(None, None))
keyList = {
"\177" : ( TTkK.Key_Backspace , TTkK.NoModifier ) ,
"\t" : ( TTkK.Key_Tab , TTkK.NoModifier ) ,
"\033[Z" : ( TTkK.Key_Tab , TTkK.ShiftModifier ) ,
"\n" : ( TTkK.Key_Enter , TTkK.NoModifier ) ,
"\r" : ( TTkK.Key_Enter , TTkK.NoModifier ) ,
"\033[A" : ( TTkK.Key_Up , TTkK.NoModifier ) ,
"\033[B" : ( TTkK.Key_Down , TTkK.NoModifier ) ,
"\033[C" : ( TTkK.Key_Right , TTkK.NoModifier ) ,
"\033[D" : ( TTkK.Key_Left , TTkK.NoModifier ) ,
"\033[1;2A" : ( TTkK.Key_Up , TTkK.ShiftModifier ) ,
"\033[1;2B" : ( TTkK.Key_Down , TTkK.ShiftModifier ) ,
"\033[1;2C" : ( TTkK.Key_Right , TTkK.ShiftModifier ) ,
"\033[1;2D" : ( TTkK.Key_Left , TTkK.ShiftModifier ) ,
"\033[1;3A" : ( TTkK.Key_Up , TTkK.AltModifier ) ,
"\033[1;3B" : ( TTkK.Key_Down , TTkK.AltModifier ) ,
"\033[1;3C" : ( TTkK.Key_Right , TTkK.AltModifier ) ,
"\033[1;3D" : ( TTkK.Key_Left , TTkK.AltModifier ) ,
"\033[1;4A" : ( TTkK.Key_Up , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;4B" : ( TTkK.Key_Down , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;4C" : ( TTkK.Key_Right , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;4D" : ( TTkK.Key_Left , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[1;5A" : ( TTkK.Key_Up , TTkK.ControlModifier ) ,
"\033[1;5B" : ( TTkK.Key_Down , TTkK.ControlModifier ) ,
"\033[1;5C" : ( TTkK.Key_Right , TTkK.ControlModifier ) ,
"\033[1;5D" : ( TTkK.Key_Left , TTkK.ControlModifier ) ,
"\033[5~" : ( TTkK.Key_PageUp , TTkK.NoModifier ) ,
"\033[6~" : ( TTkK.Key_PageDown , TTkK.NoModifier ) ,
"\033[5;2~" : ( TTkK.Key_PageUp , TTkK.ShiftModifier ) ,
"\033[6;2~" : ( TTkK.Key_PageDown , TTkK.ShiftModifier ) ,
"\033[5;3~" : ( TTkK.Key_PageUp , TTkK.AltModifier ) ,
"\033[6;3~" : ( TTkK.Key_PageDown , TTkK.AltModifier ) ,
"\033[5;4~" : ( TTkK.Key_PageUp , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[6;4~" : ( TTkK.Key_PageDown , TTkK.AltModifier | TTkK.ShiftModifier ) ,
"\033[5;5~" : ( TTkK.Key_PageUp , TTkK.ControlModifier ) ,
"\033[6;5~" : ( TTkK.Key_PageDown , TTkK.ControlModifier ) ,
"\033[5;7~" : ( TTkK.Key_PageUp , TTkK.AltModifier | TTkK.ControlModifier ) ,
"\033[6;7~" : ( TTkK.Key_PageDown , TTkK.AltModifier | TTkK.ControlModifier ) ,
# Xterm
"\033[F" : ( TTkK.Key_End , TTkK.NoModifier ) ,
"\033[H" : ( TTkK.Key_Home , TTkK.NoModifier ) ,
# Terminator + tmux
"\033[4~" : ( TTkK.Key_End , TTkK.NoModifier ) ,
"\033[1~" : ( TTkK.Key_Home , TTkK.NoModifier ) ,
"\033[2~" : ( TTkK.Key_Insert , TTkK.NoModifier ) ,
"\033[3~" : ( TTkK.Key_Delete , TTkK.NoModifier ) ,
"\033[1;2F" : ( TTkK.Key_End , TTkK.ShiftModifier ) ,
"\033[1;2H" : ( TTkK.Key_Home , TTkK.ShiftModifier ) ,
"\033[2;2~" : ( TTkK.Key_Insert , TTkK.ShiftModifier ) ,
"\033[3;2~" : ( TTkK.Key_Delete , TTkK.ShiftModifier ) ,
"\033[1;3F" : ( TTkK.Key_End , TTkK.AltModifier ) ,
"\033[1;3H" : ( TTkK.Key_Home , TTkK.AltModifier ) ,
"\033[2;3~" : ( TTkK.Key_Insert , TTkK.AltModifier ) ,
"\033[3;3~" : ( TTkK.Key_Delete , TTkK.AltModifier ) ,
"\033[1;4F" : ( TTkK.Key_End , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[1;4H" : ( TTkK.Key_Home , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[2;4~" : ( TTkK.Key_Insert , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[3;4~" : ( TTkK.Key_Delete , TTkK.ShiftModifier | TTkK.AltModifier ) ,
"\033[1;5F" : ( TTkK.Key_End , TTkK.ControlModifier ) ,
"\033[1;5H" : ( TTkK.Key_Home , TTkK.ControlModifier ) ,
"\033[2;5~" : ( TTkK.Key_Insert , TTkK.ControlModifier ) ,
"\033[3;5~" : ( TTkK.Key_Delete , TTkK.ControlModifier ) ,
"\033[1;6F" : ( TTkK.Key_End , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[1;6H" : ( TTkK.Key_Home , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[2;6~" : ( TTkK.Key_Insert , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[3;6~" : ( TTkK.Key_Delete , TTkK.ShiftModifier | TTkK.ControlModifier) ,
"\033[1;7F" : ( TTkK.Key_End , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[1;7H" : ( TTkK.Key_Home , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[2;7~" : ( TTkK.Key_Insert , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[3;7~" : ( TTkK.Key_Delete , TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[1;8F" : ( TTkK.Key_End , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[1;8H" : ( TTkK.Key_Home , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[2;8~" : ( TTkK.Key_Insert , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033[3;8~" : ( TTkK.Key_Delete , TTkK.ShiftModifier | TTkK.AltModifier | TTkK.ControlModifier) ,
"\033" : ( TTkK.Key_Escape , TTkK.NoModifier ) ,
# Function Key
"\033OP" : ( TTkK.Key_F1 , TTkK.NoModifier ) ,
"\033OQ" : ( TTkK.Key_F2 , TTkK.NoModifier ) ,
"\033OR" : ( TTkK.Key_F3 , TTkK.NoModifier ) ,
"\033OS" : ( TTkK.Key_F4 , TTkK.NoModifier ) ,
"\033[15~" : ( TTkK.Key_F5 , TTkK.NoModifier ) ,
"\033[17~" : ( TTkK.Key_F6 , TTkK.NoModifier ) ,
"\033[18~" : ( TTkK.Key_F7 , TTkK.NoModifier ) ,
"\033[19~" : ( TTkK.Key_F8 , TTkK.NoModifier ) ,
"\033[20~" : ( TTkK.Key_F9 , TTkK.NoModifier ) ,
"\033[21~" : ( TTkK.Key_F10 , TTkK.NoModifier ) ,
"\033[23~" : ( TTkK.Key_F11 , TTkK.NoModifier ) ,
"\033[24~" : ( TTkK.Key_F12 , TTkK.NoModifier ) ,
"\033[1;2P" : ( TTkK.Key_F1 , TTkK.ShiftModifier ) ,
"\033[1;2Q" : ( TTkK.Key_F2 , TTkK.ShiftModifier ) ,
"\033[1;2R" : ( TTkK.Key_F3 , TTkK.ShiftModifier ) ,
"\033[1;2S" : ( TTkK.Key_F4 , TTkK.ShiftModifier ) ,
"\033[15;2~": ( TTkK.Key_F5 , TTkK.ShiftModifier ) ,
"\033[17;2~": ( TTkK.Key_F6 , TTkK.ShiftModifier ) ,
"\033[18;2~": ( TTkK.Key_F7 , TTkK.ShiftModifier ) ,
"\033[19;2~": ( TTkK.Key_F8 , TTkK.ShiftModifier ) ,
"\033[20;2~": ( TTkK.Key_F9 , TTkK.ShiftModifier ) ,
"\033[21;2~": ( TTkK.Key_F10 , TTkK.ShiftModifier ) ,
"\033[23;2~": ( TTkK.Key_F11 , TTkK.ShiftModifier ) ,
"\033[24;2~": ( TTkK.Key_F12 , TTkK.ShiftModifier ) ,
"\033[1;5P" : ( TTkK.Key_F1 , TTkK.ControlModifier ) ,
"\033[1;5Q" : ( TTkK.Key_F2 , TTkK.ControlModifier ) ,
"\033[1;5R" : ( TTkK.Key_F3 , TTkK.ControlModifier ) ,
"\033[1;5S" : ( TTkK.Key_F4 , TTkK.ControlModifier ) ,
"\033[15;5~": ( TTkK.Key_F5 , TTkK.ControlModifier ) ,
"\033[17;5~": ( TTkK.Key_F6 , TTkK.ControlModifier ) ,
"\033[18;5~": ( TTkK.Key_F7 , TTkK.ControlModifier ) ,
"\033[19;5~": ( TTkK.Key_F8 , TTkK.ControlModifier ) ,
"\033[20;5~": ( TTkK.Key_F9 , TTkK.ControlModifier ) ,
"\033[21;5~": ( TTkK.Key_F10 , TTkK.ControlModifier ) ,
"\033[23;5~": ( TTkK.Key_F11 , TTkK.ControlModifier ) ,
"\033[24;5~": ( TTkK.Key_F12 , TTkK.ControlModifier ) ,
# "\033[1;3P" : ( TTkK.Key_F1 , TTkK.AltModifier ) ,
# "\033[1;3Q" : ( TTkK.Key_F2 , TTkK.AltModifier ) ,
"\033[1;3R" : ( TTkK.Key_F3 , TTkK.AltModifier ) ,
# "\033[1;3S" : ( TTkK.Key_F4 , TTkK.AltModifier ) ,
# "\033[15;3~": ( TTkK.Key_F5 , TTkK.AltModifier ) ,
"\033[17;3~": ( TTkK.Key_F6 , TTkK.AltModifier ) ,
# "\033[18;3~": ( TTkK.Key_F7 , TTkK.AltModifier ) ,
# "\033[19;3~": ( TTkK.Key_F8 , TTkK.AltModifier ) ,
"\033[20;3~": ( TTkK.Key_F9 , TTkK.AltModifier ) ,
# "\033[21;3~": ( TTkK.Key_F10 , TTkK.AltModifier ) ,
"\033[23;3~": ( TTkK.Key_F11 , TTkK.AltModifier ) ,
"\033[24;3~": ( TTkK.Key_F12 , TTkK.AltModifier ) ,
'\x01': ( TTkK.Key_A , TTkK.ControlModifier ),
'\x02': ( TTkK.Key_B , TTkK.ControlModifier ),
'\x03': ( TTkK.Key_C , TTkK.ControlModifier ),
'\x04': ( TTkK.Key_D , TTkK.ControlModifier ),
'\x05': ( TTkK.Key_E , TTkK.ControlModifier ),
'\x06': ( TTkK.Key_F , TTkK.ControlModifier ),
'\x07': ( TTkK.Key_G , TTkK.ControlModifier ),
'\x08': ( TTkK.Key_H , TTkK.ControlModifier ),
# '\x09': ( TTkK.Key_I , TTkK.ControlModifier ), # Tab = '\t' = 0x09
'\x0a': ( TTkK.Key_J , TTkK.ControlModifier ), # Enter = '\n' = 0x0a
'\x0b': ( TTkK.Key_K , TTkK.ControlModifier ),
'\x0c': ( TTkK.Key_L , TTkK.ControlModifier ),
# '\x0d': ( TTkK.Key_M , TTkK.ControlModifier ), # Enter = '\r' = 0x0d
'\x0e': ( TTkK.Key_N , TTkK.ControlModifier ),
'\x0f': ( TTkK.Key_O , TTkK.ControlModifier ),
'\x10': ( TTkK.Key_P , TTkK.ControlModifier ),
'\x11': ( TTkK.Key_Q , TTkK.ControlModifier ),
'\x12': ( TTkK.Key_R , TTkK.ControlModifier ),
'\x13': ( TTkK.Key_S , TTkK.ControlModifier ),
'\x14': ( TTkK.Key_T , TTkK.ControlModifier ),
'\x15': ( TTkK.Key_U , TTkK.ControlModifier ),
'\x16': ( TTkK.Key_V , TTkK.ControlModifier ),
'\x17': ( TTkK.Key_W , TTkK.ControlModifier ),
'\x18': ( TTkK.Key_X , TTkK.ControlModifier ),
'\x19': ( TTkK.Key_Y , TTkK.ControlModifier ),
'\x1a': ( TTkK.Key_Z , TTkK.ControlModifier ),
'\033\x61': ( TTkK.Key_A , TTkK.AltModifier ),
'\033\x62': ( TTkK.Key_B , TTkK.AltModifier ),
'\033\x63': ( TTkK.Key_C , TTkK.AltModifier ),
'\033\x64': ( TTkK.Key_D , TTkK.AltModifier ),
'\033\x65': ( TTkK.Key_E , TTkK.AltModifier ),
'\033\x66': ( TTkK.Key_F , TTkK.AltModifier ),
'\033\x67': ( TTkK.Key_G , TTkK.AltModifier ),
'\033\x68': ( TTkK.Key_H , TTkK.AltModifier ),
'\033\x69': ( TTkK.Key_I , TTkK.AltModifier ),
'\033\x6a': ( TTkK.Key_J , TTkK.AltModifier ),
'\033\x6b': ( TTkK.Key_K , TTkK.AltModifier ),
'\033\x6c': ( TTkK.Key_L , TTkK.AltModifier ),
'\033\x6d': ( TTkK.Key_M , TTkK.AltModifier ),
'\033\x6e': ( TTkK.Key_N , TTkK.AltModifier ),
'\033\x6f': ( TTkK.Key_O , TTkK.AltModifier ),
'\033\x70': ( TTkK.Key_P , TTkK.AltModifier ),
'\033\x71': ( TTkK.Key_Q , TTkK.AltModifier ),
'\033\x72': ( TTkK.Key_R , TTkK.AltModifier ),
'\033\x73': ( TTkK.Key_S , TTkK.AltModifier ),
'\033\x74': ( TTkK.Key_T , TTkK.AltModifier ),
'\033\x75': ( TTkK.Key_U , TTkK.AltModifier ),
'\033\x76': ( TTkK.Key_V , TTkK.AltModifier ),
'\033\x77': ( TTkK.Key_W , TTkK.AltModifier ),
'\033\x78': ( TTkK.Key_X , TTkK.AltModifier ),
'\033\x79': ( TTkK.Key_Y , TTkK.AltModifier ),
'\033\x7a': ( TTkK.Key_Z , TTkK.AltModifier ),
'\033\x41': ( TTkK.Key_A , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x42': ( TTkK.Key_B , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x43': ( TTkK.Key_C , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x44': ( TTkK.Key_D , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x45': ( TTkK.Key_E , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x46': ( TTkK.Key_F , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x47': ( TTkK.Key_G , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x48': ( TTkK.Key_H , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x49': ( TTkK.Key_I , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4a': ( TTkK.Key_J , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4b': ( TTkK.Key_K , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4c': ( TTkK.Key_L , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4d': ( TTkK.Key_M , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4e': ( TTkK.Key_N , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x4f': ( TTkK.Key_O , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x50': ( TTkK.Key_P , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x51': ( TTkK.Key_Q , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x52': ( TTkK.Key_R , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x53': ( TTkK.Key_S , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x54': ( TTkK.Key_T , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x55': ( TTkK.Key_U , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x56': ( TTkK.Key_V , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x57': ( TTkK.Key_W , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x58': ( TTkK.Key_X , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x59': ( TTkK.Key_Y , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x5a': ( TTkK.Key_Z , TTkK.AltModifier | TTkK.ShiftModifier ),
'\033\x01': ( TTkK.Key_A , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x02': ( TTkK.Key_B , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x03': ( TTkK.Key_C , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x04': ( TTkK.Key_D , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x05': ( TTkK.Key_E , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x06': ( TTkK.Key_F , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x07': ( TTkK.Key_G , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x08': ( TTkK.Key_H , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x09': ( TTkK.Key_I , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0a': ( TTkK.Key_J , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0b': ( TTkK.Key_K , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0c': ( TTkK.Key_L , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0d': ( TTkK.Key_M , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0e': ( TTkK.Key_N , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x0f': ( TTkK.Key_O , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x10': ( TTkK.Key_P , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x11': ( TTkK.Key_Q , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x12': ( TTkK.Key_R , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x13': ( TTkK.Key_S , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x14': ( TTkK.Key_T , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x15': ( TTkK.Key_U , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x16': ( TTkK.Key_V , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x17': ( TTkK.Key_W , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x18': ( TTkK.Key_X , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x19': ( TTkK.Key_Y , TTkK.ControlModifier | TTkK.AltModifier ),
'\033\x1a': ( TTkK.Key_Z , TTkK.ControlModifier | TTkK.AltModifier ),
# # "\033": return( ey_Tab ) ,
# if True: return None
# "\033": return( ey_Backtab ) ,
# "\033": return( ey_Backspace ) ,
# "\033": return( ey_Return ) ,
# "\033": return( ey_Enter ) ,
# "\033": return( ey_Pause ) ,
# "\033": return( ey_Print ) ,
# "\033": return( ey_SysReq ) ,
# "\033": return( ey_Clear ) ,
# "\033": return( ey_Shift ) ,
# "\033": return( ey_Control ) ,
# "\033": return( ey_Meta ) ,
# "\033": return( ey_Alt ) ,
# "\033": return( ey_AltGr ) ,
# "\033": return( ey_CapsLock ) ,
# "\033": return( ey_NumLock ) ,
# "\033": return( ey_ScrollLock ) ,
# "\033": return( ey_F13 ) ,
# "\033": return( ey_F14 ) ,
# "\033": return( ey_F15 ) ,
# "\033": return( ey_F16 ) ,
# "\033": return( ey_F17 ) ,
# "\033": return( ey_F18 ) ,
# "\033": return( ey_F19 ) ,
# "\033": return( ey_F20 ) ,
# "\033": return( ey_F21 ) ,
# "\033": return( ey_F22 ) ,
# "\033": return( ey_F23 ) ,
# "\033": return( ey_F24 ) ,
# "\033": return( ey_F25 ) ,
# "\033": return( ey_F26 ) ,
# "\033": return( ey_F27 ) ,
# "\033": return( ey_F28 ) ,
# "\033": return( ey_F29 ) ,
# "\033": return( ey_F30 ) ,
# "\033": return( ey_F31 ) ,
# "\033": return( ey_F32 ) ,
# "\033": return( ey_F33 ) ,
# "\033": return( ey_F34 ) ,
# "\033": return( ey_F35 ) ,
# "\033": return( ey_Super_L ) ,
# "\033": return( ey_Super_R ) ,
# "\033": return( ey_Menu ) ,
# "\033": return( ey_Hyper_L ) ,
# "\033": return( ey_Hyper_R ) ,
# "\033": return( ey_Help ) ,
# "\033": return( ey_Direction_L ) ,
# "\033": return( ey_Direction_R ) ,
# "\033": return( ey_Space ) ,
# "\033": return( ey_Any ) ,
# return TTkK.NONE
}
def _translate_key2(key):
return keyList.get(key,(None, None))
def test1(_ti=testInput):
ret = ""
for x in _ti:
ret += str(_translate_key1(x))
return ret
def test2(_ti=testInput):
ret = ""
for x in _ti:
ret += str(_translate_key2(x))
return ret
loop = 1000
a={}
iii = 1
while (testName := f'test{iii}') and (testName in globals()):
result = timeit.timeit(f'{testName}(*a)', globals=globals(), number=loop)
# print(f"test{iii}) fps {loop / result :.3f} - s {result / loop:.10f} - {result / loop} {globals()[testName](*a)}")
print(f"test{iii:02}) | {result / loop:.10f} sec. | {loop / result : 15.3f} Fps ╞╡-> {globals()[testName](*a)}")
iii+=1
Loading…
Cancel
Save