initial binding import
This commit is contained in:
@ -1,6 +1,4 @@
|
||||
#!/bin/python
|
||||
|
||||
bindings = {
|
||||
'2-29,1-42':'curr_line',
|
||||
'2-29,1-30':'shut_up'
|
||||
}
|
||||
|
@ -22,12 +22,72 @@ class inputManager():
|
||||
del(currShortcut[str(event.code)])
|
||||
environment['input']['currShortcut'] = currShortcut
|
||||
environment['input']['currShortcutString'] = self.getShortcutString(environment)
|
||||
print(environment['input']['currShortcutString'])
|
||||
return environment
|
||||
|
||||
def getShortcutString(self, environment):
|
||||
if environment['input']['currShortcut'] == {}:
|
||||
return ''
|
||||
currShortcutStringList = []
|
||||
for key in sorted(environment['input']['currShortcut'] ):
|
||||
for key in environment['input']['currShortcut']:
|
||||
currShortcutStringList.append("%s-%s" % (environment['input']['currShortcut'][key], key))
|
||||
currShortcutStringList = sorted(currShortcutStringList)
|
||||
return str(currShortcutStringList)[1:-1].replace(" ","").replace("'","")
|
||||
|
||||
def loadShortcuts(self, environment, kbConfigPath='/home/chrys/Projekte/fenrir/fenrir/config/keyboard/desktop.kb'):
|
||||
kbConfig = open(kbConfigPath,"r")
|
||||
while(True):
|
||||
line = kbConfig.readline()
|
||||
if not line:
|
||||
break
|
||||
line = line.replace('\n','')
|
||||
if line.replace(" ","").startswith("#"):
|
||||
continue
|
||||
if line.count("=") != 1:
|
||||
continue
|
||||
sepLine = line.split('=')
|
||||
commandString = sepLine[1]
|
||||
keys = sepLine[0].replace(" ","").split(',')
|
||||
currShortcut = []
|
||||
validKeyString = True
|
||||
for key in keys:
|
||||
if len(key) < 3:
|
||||
validKeyString = False
|
||||
break
|
||||
if not key[0] in ['0','1','2']:
|
||||
validKeyString = False
|
||||
break
|
||||
if key[1] != '-':
|
||||
validKeyString = False
|
||||
break
|
||||
if key[2:] != '':
|
||||
keyInt = self.getCodeForKeyID(key[2:])
|
||||
else:
|
||||
validKeyString = False
|
||||
break
|
||||
if keyInt == 0:
|
||||
validKeyString = False
|
||||
break
|
||||
if not validKeyString:
|
||||
break
|
||||
else:
|
||||
currShortcut.append(key[0] + '-' + str(keyInt))
|
||||
print(currShortcut)
|
||||
if validKeyString:
|
||||
keyString = ''
|
||||
for k in sorted(currShortcut):
|
||||
if keyString != '':
|
||||
keyString += ','
|
||||
keyString += k
|
||||
print(keyString)
|
||||
print(commandString)
|
||||
environment['bindings'][keyString] = commandString
|
||||
kbConfig.close()
|
||||
print(environment['bindings'])
|
||||
return environment
|
||||
|
||||
def getCodeForKeyID(self, keyID):
|
||||
try:
|
||||
return evdev.ecodes.ecodes[keyID.upper()]
|
||||
except:
|
||||
return 0
|
||||
|
Reference in New Issue
Block a user