示例#1
0
import libi2dx

class I2DXWebSocketOSC(libi2dx.I2DXWebSocket):
	def toggle_key(self, key_id, state, player):
		print 'key', key_id, state, "player %s" % player

if __name__ == "__main__":
	libi2dx.serve(I2DXWebSocketOSC)

示例#2
0
                    keys.append(keyval)

    devicemap = {}
    xboxmap = {}
    
    def toggle_key(self, key_id, active, player):
        if player not in self.devicemap:
            old_ls = subprocess.check_output('ls /dev/input/', shell=True).split()
            self.devicemap[player] = uinput.Device(self.keys,
                                                   'web_kbd%s' % player,
                                                   0x03,  # BUS_USB (at least on Ubuntu...)
                                                   0x1337,  # fake vendor id
                                                   0x1337)  # fake device id
            time.sleep(1)
            new_ls = subprocess.check_output('ls /dev/input/', shell=True).split()
            matcher = difflib.SequenceMatcher(None, old_ls, new_ls)
            for tag, i1, i2, j1, j2 in reversed(matcher.get_opcodes()):
                if tag == 'insert':
                    print "new device id is %s" % new_ls[j1]
                    print subprocess.check_output('pwd', shell=True)
                    args = shlex.split("xboxdrv -c " + os.path.abspath(os.path.join(os.path.dirname(__file__), '../web2xbox.xbox')) + ' --evdev /dev/input/' + new_ls[j1]+ " " + self.extra_args)
                    self.xboxmap[player] = subprocess.Popen(args)
        if active:
            active = 1
        else:
            active = 0
        self.devicemap[player].emit(uinput._CHAR_MAP.get(libi2dx.config.get('keymap_player%s' % player, key_id), uinput.KEY_BACKSLASH), active)

if __name__ == "__main__":
    libi2dx.serve(I2DXWebSocketUInput)
示例#3
0
import libi2dx


class I2DXWebSocketOSC(libi2dx.I2DXWebSocket):
    def toggle_key(self, key_id, state, player):
        print 'key', key_id, state, "player %s" % player


if __name__ == "__main__":
    libi2dx.serve(I2DXWebSocketOSC)
示例#4
0
    
    def toggle_key(self, key_id, active, player):
        if player not in self.devicemap:
            old_ls = subprocess.check_output('ls /dev/input/', shell=True).split()
            self.devicemap[player] = uinput.Device(self.keys,
                                                   'web_gamepad%s' % player,
                                                   0x03,  # BUS_USB (at least on Ubuntu...)
                                                   0x1337,  # fake vendor id
                                                   0x1337)  # fake device id
            time.sleep(1) # give uinput time to make device...
            new_ls = subprocess.check_output('ls /dev/input/', shell=True).split()
            matcher = difflib.SequenceMatcher(None, old_ls, new_ls)
            for tag, i1, i2, j1, j2 in reversed(matcher.get_opcodes()):
                if tag == 'insert':
                    devname = new_ls[j1]
                    print "new device id is %s" % devname
                    if not devname.startswith('event'):
                        print "not an event device, ignoring"
                        continue
                    command = "xboxdrv -c " + os.path.abspath(os.path.join(os.path.dirname(__file__), '../web2xbox.xbox')) + ' --evdev /dev/input/' + devname + " " + self.extra_args
                    args = shlex.split(command)
                    self.xboxmap[player] = subprocess.Popen(args)
        if active:
            active = 1
        else:
            active = 0
        self.devicemap[player].emit(self.btn_map[key_id], active)

if __name__ == "__main__":
    libi2dx.serve(XPadWebSocketUInput)
示例#5
0
import sys
import libi2dx
from os import path
from autopy import key
import ConfigParser


class I2DXWebSocketAutoPy(libi2dx.I2DXWebSocket):
    def toggle_key(self, key_id, state, player):
        try:
            key.toggle(libi2dx.config.get('keymap_player%s' % player, key_id),
                       state)
        except ConfigParser.NoOptionError:
            print "key map not found for %s, player %s" % (key_id, player)


if __name__ == "__main__":
    libi2dx.serve(I2DXWebSocketAutoPy)
示例#6
0
                'web_kbd%s' % player,
                0x03,  # BUS_USB (at least on Ubuntu...)
                0x1337,  # fake vendor id
                0x1337)  # fake device id
            time.sleep(1)
            new_ls = subprocess.check_output('ls /dev/input/',
                                             shell=True).split()
            matcher = difflib.SequenceMatcher(None, old_ls, new_ls)
            for tag, i1, i2, j1, j2 in reversed(matcher.get_opcodes()):
                if tag == 'insert':
                    print "new device id is %s" % new_ls[j1]
                    print subprocess.check_output('pwd', shell=True)
                    args = shlex.split("xboxdrv -c " + os.path.abspath(
                        os.path.join(os.path.dirname(__file__),
                                     '../web2xbox.xbox')) +
                                       ' --evdev /dev/input/' + new_ls[j1] +
                                       " " + self.extra_args)
                    self.xboxmap[player] = subprocess.Popen(args)
        if active:
            active = 1
        else:
            active = 0
        self.devicemap[player].emit(
            uinput._CHAR_MAP.get(
                libi2dx.config.get('keymap_player%s' % player, key_id),
                uinput.KEY_BACKSLASH), active)


if __name__ == "__main__":
    libi2dx.serve(I2DXWebSocketUInput)
示例#7
0
import sys
import libi2dx
from os import path
from autopy import key
import ConfigParser

class I2DXWebSocketAutoPy(libi2dx.I2DXWebSocket):
	def toggle_key(self, key_id, state, player):
		try:
			key.toggle(libi2dx.config.get('keymap_player%s' % player, key_id), state)
		except ConfigParser.NoOptionError:
			print "key map not found for %s, player %s" % (key_id, player)

if __name__ == "__main__":
	libi2dx.serve(I2DXWebSocketAutoPy)