mirror of
https://github.com/jtgans/g13gui.git
synced 2025-06-20 08:23:50 -04:00
g13gui: Prep for the great g13d removal
Our key binds will now use actual key codes from evdev instead of using made up key symbol names from G13D. This results in a *major* change, of which this is just the start. Effectively, we're going to move away from using the old and crufty g13d for everything, and just write our own g13 manager instead.
This commit is contained in:
parent
dd21f7fb96
commit
f9264c390e
@ -31,8 +31,6 @@ class BindingProfile(Subject):
|
|||||||
return self._stickRegions
|
return self._stickRegions
|
||||||
|
|
||||||
def keyBinding(self, gkey):
|
def keyBinding(self, gkey):
|
||||||
gkey = gkey.upper()
|
|
||||||
|
|
||||||
if gkey in self._stickRegions.keys():
|
if gkey in self._stickRegions.keys():
|
||||||
if gkey in self._stickRegionBindings.keys():
|
if gkey in self._stickRegionBindings.keys():
|
||||||
return self._stickRegionBindings[gkey]
|
return self._stickRegionBindings[gkey]
|
||||||
|
@ -1,179 +1,39 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
from evdev import ecodes as e
|
||||||
|
|
||||||
|
from g13gui.g13.common import G13Keys
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Defines a whole bunch of constants relating to mapping G13D key names to GDK key
|
Defines a whole bunch of constants relating to mapping G13D key names to GDK
|
||||||
names, as well as the symbols that g13d natively supports.
|
key names, as well as the symbols that g13d natively supports.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
G13D_TO_GDK_KEYBINDS = {
|
|
||||||
'0': '0',
|
|
||||||
'1': '1',
|
|
||||||
'2': '2',
|
|
||||||
'3': '3',
|
|
||||||
'4': '4',
|
|
||||||
'5': '5',
|
|
||||||
'6': '6',
|
|
||||||
'7': '7',
|
|
||||||
'8': '8',
|
|
||||||
'9': '9',
|
|
||||||
'A': 'A',
|
|
||||||
'B': 'B',
|
|
||||||
'C': 'C',
|
|
||||||
'D': 'D',
|
|
||||||
'E': 'E',
|
|
||||||
'F': 'F',
|
|
||||||
'G': 'G',
|
|
||||||
'H': 'H',
|
|
||||||
'I': 'I',
|
|
||||||
'J': 'J',
|
|
||||||
'K': 'K',
|
|
||||||
'L': 'L',
|
|
||||||
'M': 'M',
|
|
||||||
'N': 'N',
|
|
||||||
'O': 'O',
|
|
||||||
'P': 'P',
|
|
||||||
'Q': 'Q',
|
|
||||||
'R': 'R',
|
|
||||||
'S': 'S',
|
|
||||||
'T': 'T',
|
|
||||||
'U': 'U',
|
|
||||||
'V': 'V',
|
|
||||||
'W': 'W',
|
|
||||||
'X': 'X',
|
|
||||||
'Y': 'Y',
|
|
||||||
'Z': 'Z',
|
|
||||||
|
|
||||||
'LEFT': 'Left',
|
|
||||||
'RIGHT': 'Right',
|
|
||||||
'UP': 'Up',
|
|
||||||
'DOWN': 'Down',
|
|
||||||
|
|
||||||
'APOSTROPHE': 'apostrophe',
|
|
||||||
'BACKSLASH': 'backslash',
|
|
||||||
'BACKSPACE': 'backspace',
|
|
||||||
'CAPSLOCK': 'capslock',
|
|
||||||
'COMMA': 'comma',
|
|
||||||
'DOT': 'period',
|
|
||||||
'ENTER': 'enter',
|
|
||||||
'EQUAL': 'equals',
|
|
||||||
'ESC': 'Escape',
|
|
||||||
'F1': 'F1',
|
|
||||||
'F2': 'F2',
|
|
||||||
'F3': 'F3',
|
|
||||||
'F4': 'F4',
|
|
||||||
'F5': 'F5',
|
|
||||||
'F6': 'F6',
|
|
||||||
'F7': 'F7',
|
|
||||||
'F8': 'F8',
|
|
||||||
'F9': 'F9',
|
|
||||||
'F10': 'F10',
|
|
||||||
'F11': 'F11',
|
|
||||||
'F12': 'F12',
|
|
||||||
'GRAVE': 'grave',
|
|
||||||
|
|
||||||
'INSERT': 'insert',
|
|
||||||
'HOME': 'home',
|
|
||||||
'PAGEUP': 'pageup',
|
|
||||||
'DELETE': 'delete',
|
|
||||||
'END': 'end',
|
|
||||||
'PAGEDOWN': 'pagedown',
|
|
||||||
|
|
||||||
'NUMLOCK': 'numlock',
|
|
||||||
'KPASTERISK': 'kpasterisk',
|
|
||||||
'KPMINUS': '0',
|
|
||||||
'KP7': '0',
|
|
||||||
'KP8': '0',
|
|
||||||
'KP9': '0',
|
|
||||||
'KPPLUS': '0',
|
|
||||||
'KP4': '0',
|
|
||||||
'KP5': '0',
|
|
||||||
'KP6': '0',
|
|
||||||
'KP1': '0',
|
|
||||||
'KP2': '0',
|
|
||||||
'KP3': '0',
|
|
||||||
'KP0': '0',
|
|
||||||
'KPDOT': '0',
|
|
||||||
|
|
||||||
'LEFTBRACE': 'braceleft',
|
|
||||||
'RIGHTBRACE': 'braceright',
|
|
||||||
'MINUS': 'minus',
|
|
||||||
'SEMICOLON': 'semicolon',
|
|
||||||
'SLASH': 'slash',
|
|
||||||
'SPACE': 'space',
|
|
||||||
'TAB': 'Tab',
|
|
||||||
|
|
||||||
'LEFTALT': 'Alt_L',
|
|
||||||
'LEFTCTRL': 'Control_L',
|
|
||||||
'LEFTSHIFT': 'Shift_L',
|
|
||||||
'RIGHTALT': 'Alt_R',
|
|
||||||
'RIGHTCTRL': 'Control_R',
|
|
||||||
'RIGHTSHIFT': 'Shift_R',
|
|
||||||
'SCROLLLOCK': 'ScrollLock',
|
|
||||||
}
|
|
||||||
|
|
||||||
GDK_TO_G13D_KEYBINDS = {}
|
|
||||||
for g13d_key, gdk_key in G13D_TO_GDK_KEYBINDS.items():
|
|
||||||
GDK_TO_G13D_KEYBINDS[gdk_key] = g13d_key
|
|
||||||
|
|
||||||
GDK_TO_G13D_KEYBINDS['asciitilde'] = 'GRAVE'
|
|
||||||
GDK_TO_G13D_KEYBINDS['braceleft'] = 'LEFTBRACE'
|
|
||||||
GDK_TO_G13D_KEYBINDS['braceright'] = 'RIGHTBRACE'
|
|
||||||
GDK_TO_G13D_KEYBINDS['bracketleft'] = 'LEFTBRACE'
|
|
||||||
GDK_TO_G13D_KEYBINDS['bracketright'] = 'RIGHTBRACE'
|
|
||||||
GDK_TO_G13D_KEYBINDS['quotedbl'] = 'APOSTROPHE'
|
|
||||||
GDK_TO_G13D_KEYBINDS['less'] = 'COMMA'
|
|
||||||
GDK_TO_G13D_KEYBINDS['greater'] = 'DOT'
|
|
||||||
GDK_TO_G13D_KEYBINDS['bar'] = 'BACKSLASH'
|
|
||||||
GDK_TO_G13D_KEYBINDS['question'] = 'SLASH'
|
|
||||||
GDK_TO_G13D_KEYBINDS['colon'] = 'SEMICOLON'
|
|
||||||
GDK_TO_G13D_KEYBINDS['plus'] = 'EQUALS'
|
|
||||||
GDK_TO_G13D_KEYBINDS['exclam'] = '1'
|
|
||||||
GDK_TO_G13D_KEYBINDS['at'] = '2'
|
|
||||||
GDK_TO_G13D_KEYBINDS['numbersign'] = '3'
|
|
||||||
GDK_TO_G13D_KEYBINDS['dollar'] = '4'
|
|
||||||
GDK_TO_G13D_KEYBINDS['percent'] = '5'
|
|
||||||
GDK_TO_G13D_KEYBINDS['asciicircum'] = '6'
|
|
||||||
GDK_TO_G13D_KEYBINDS['ampersand'] = '7'
|
|
||||||
GDK_TO_G13D_KEYBINDS['asterisk'] = '8'
|
|
||||||
GDK_TO_G13D_KEYBINDS['parenleft'] = '9'
|
|
||||||
GDK_TO_G13D_KEYBINDS['parenright'] = '0'
|
|
||||||
GDK_TO_G13D_KEYBINDS['ISO_Left_Tab'] = 'TAB'
|
|
||||||
|
|
||||||
G13_KEYS = [
|
|
||||||
'BD', 'L1', 'L2', 'L3', 'L4', 'LIGHT',
|
|
||||||
'M1', 'M2', 'M3', 'MR',
|
|
||||||
'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7',
|
|
||||||
'G8', 'G9', 'G10', 'G11', 'G12', 'G13', 'G14',
|
|
||||||
'G15', 'G16', 'G17', 'G18', 'G19',
|
|
||||||
'G20', 'G21', 'G22',
|
|
||||||
'LEFT', 'DOWN', 'TOP',
|
|
||||||
]
|
|
||||||
|
|
||||||
DEFAULT_KEY_BINDINGS = {
|
DEFAULT_KEY_BINDINGS = {
|
||||||
'G1': ['GRAVE'],
|
G13Keys.G1.name: [e.KEY_GRAVE],
|
||||||
'G2': ['1'],
|
G13Keys.G2.name: [e.KEY_1],
|
||||||
'G3': ['2'],
|
G13Keys.G3.name: [e.KEY_2],
|
||||||
'G4': ['3'],
|
G13Keys.G4.name: [e.KEY_3],
|
||||||
'G5': ['4'],
|
G13Keys.G5.name: [e.KEY_4],
|
||||||
'G6': ['5'],
|
G13Keys.G6.name: [e.KEY_5],
|
||||||
'G7': ['6'],
|
G13Keys.G7.name: [e.KEY_6],
|
||||||
'G8': ['TAB'],
|
G13Keys.G8.name: [e.KEY_TAB],
|
||||||
'G9': ['Q'],
|
G13Keys.G9.name: [e.KEY_Q],
|
||||||
'G10': ['W'],
|
G13Keys.G10.name: [e.KEY_W],
|
||||||
'G11': ['E'],
|
G13Keys.G11.name: [e.KEY_E],
|
||||||
'G12': ['R'],
|
G13Keys.G12.name: [e.KEY_R],
|
||||||
'G13': ['T'],
|
G13Keys.G13.name: [e.KEY_T],
|
||||||
'G14': ['Y'],
|
G13Keys.G14.name: [e.KEY_Y],
|
||||||
'G15': ['A'],
|
G13Keys.G15.name: [e.KEY_A],
|
||||||
'G16': ['S'],
|
G13Keys.G16.name: [e.KEY_S],
|
||||||
'G17': ['D'],
|
G13Keys.G17.name: [e.KEY_D],
|
||||||
'G18': ['F'],
|
G13Keys.G18.name: [e.KEY_F],
|
||||||
'G19': ['G'],
|
G13Keys.G19.name: [e.KEY_G],
|
||||||
'G20': ['X'],
|
G13Keys.G20.name: [e.KEY_X],
|
||||||
'G21': ['C'],
|
G13Keys.G21.name: [e.KEY_C],
|
||||||
'G22': ['V'],
|
G13Keys.G22.name: [e.KEY_V],
|
||||||
'LEFT': ['B'],
|
G13Keys.THUMB_LEFT.name: [e.KEY_B],
|
||||||
'DOWN': ['N'],
|
G13Keys.THUMB_DOWN.name: [e.KEY_N],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -198,14 +58,14 @@ DEFAULT_STICK_REGIONS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DEFAULT_STICK_REGION_BINDINGS = {
|
DEFAULT_STICK_REGION_BINDINGS = {
|
||||||
StickRegion.UP: ['W'],
|
StickRegion.UP: [e.KEY_W],
|
||||||
StickRegion.DOWN: ['S'],
|
StickRegion.DOWN: [e.KEY_S],
|
||||||
StickRegion.LEFT: ['A'],
|
StickRegion.LEFT: [e.KEY_A],
|
||||||
StickRegion.RIGHT: ['D']
|
StickRegion.RIGHT: [e.KEY_D]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class StickMode():
|
class StickMode(object):
|
||||||
ABSOLUTE = 'ABSOLUTE'
|
ABSOLUTE = 'ABSOLUTE'
|
||||||
RELATIVE = 'RELATIVE'
|
RELATIVE = 'RELATIVE'
|
||||||
KEYS = 'KEYS'
|
KEYS = 'KEYS'
|
||||||
@ -216,23 +76,4 @@ ALL_STICK_MODES = frozenset({
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
def G13DKeyIsModifier(key):
|
|
||||||
key = key.upper()
|
|
||||||
return (key == 'LEFTSHIFT' or key == 'RIGHTSHIFT' or
|
|
||||||
key == 'LEFTALT' or key == 'RIGHTALT' or
|
|
||||||
key == 'LEFTCTRL' or key == 'RIGHTCTRL')
|
|
||||||
|
|
||||||
|
|
||||||
def G13ToGDK(keybinds):
|
|
||||||
if type(keybinds) == list:
|
|
||||||
return [G13D_TO_GDK_KEYBINDS[binding] for binding in keybinds]
|
|
||||||
return G13D_TO_GDK_KEYBINDS[keybinds]
|
|
||||||
|
|
||||||
|
|
||||||
def GDKToG13(keybinds):
|
|
||||||
if type(keybinds) == list:
|
|
||||||
return [GDK_TO_G13D_KEYBINDS[binding] for binding in keybinds]
|
|
||||||
return GDK_TO_G13D_KEYBINDS[keybinds]
|
|
||||||
|
|
||||||
|
|
||||||
DEFAULT_LCD_COLOR = (1.0, 0.0, 0.0)
|
DEFAULT_LCD_COLOR = (1.0, 0.0, 0.0)
|
||||||
|
Loading…
Reference in New Issue
Block a user