Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ynsta/steamcontroller.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStany MARCEL <stanypub@gmail.com>2017-01-05 11:53:42 +0300
committerGitHub <noreply@github.com>2017-01-05 11:53:42 +0300
commit60499dc65b790436a331023529a086cdaf2744c7 (patch)
tree29ae3398fa87dcd367a73ef3c9c132a6e55b2c95
parent99852e6114a6ccc3324efab3b65219d2f2ba6469 (diff)
parentc0b775df2688957e96094ddbab3c749cae215bad (diff)
Merge pull request #49 from kozec/x360-version
Change device version of emulated x360 controller
-rw-r--r--src/uinput.c3
-rw-r--r--src/uinput.py8
2 files changed, 9 insertions, 2 deletions
diff --git a/src/uinput.c b/src/uinput.c
index e28110a..6232f0a 100644
--- a/src/uinput.c
+++ b/src/uinput.c
@@ -44,6 +44,7 @@ int uinput_init(
int keyboard,
__u16 vendor,
__u16 product,
+ __u16 version,
char * name)
{
struct uinput_user_dev uidev;
@@ -60,7 +61,7 @@ int uinput_init(
uidev.id.bustype = BUS_USB;
uidev.id.vendor = vendor;
uidev.id.product = product;
- uidev.id.version = 1;
+ uidev.id.version = version;
/* Key Event initialisation */
if (key_len > 0 && ioctl(fd, UI_SET_EVBIT, EV_KEY) < 0) {
diff --git a/src/uinput.py b/src/uinput.py
index 8ab8d25..684a018 100644
--- a/src/uinput.py
+++ b/src/uinput.py
@@ -184,7 +184,7 @@ class UInput(object):
"""
- def __init__(self, vendor, product, name, keys, axes, rels, keyboard=False):
+ def __init__(self, vendor, product, version, name, keys, axes, rels, keyboard=False):
self._lib = None
self._k = keys
if not axes or len(axes) == 0:
@@ -196,6 +196,7 @@ class UInput(object):
self.vendor = vendor
self.product = product
self.name = name
+ self.version = version
self.keyboard = keyboard
self._fd = None
@@ -235,6 +236,7 @@ class UInput(object):
c_r = (ctypes.c_uint16 * len(self._r))(*self._r)
c_vendor = ctypes.c_uint16(self.vendor)
c_product = ctypes.c_uint16(self.product)
+ c_version = ctypes.c_uint16(self.version)
c_keyboard = ctypes.c_int(self.keyboard)
c_name = ctypes.c_char_p(self.name)
@@ -251,6 +253,7 @@ class UInput(object):
c_keyboard,
c_vendor,
c_product,
+ c_version,
c_name)
@@ -366,6 +369,7 @@ class Gamepad(UInput):
def __init__(self):
super(Gamepad, self).__init__(vendor=0x045e,
product=0x028e,
+ version=0x110,
name=b"Microsoft X-Box 360 pad",
keys=[Keys.BTN_START,
Keys.BTN_MODE,
@@ -413,6 +417,7 @@ class Mouse(UInput):
def __init__(self):
super(Mouse, self).__init__(vendor=0x28de,
product=0x1142,
+ version=1,
name=b"Steam Controller Mouse",
keys=[Keys.BTN_LEFT,
Keys.BTN_RIGHT,
@@ -692,6 +697,7 @@ class Keyboard(UInput):
def __init__(self):
super(Keyboard, self).__init__(vendor=0x28de,
product=0x1142,
+ version=1,
name=b"Steam Controller Keyboard",
keys=Scans.keys(),
axes=[],