aboutsummaryrefslogtreecommitdiffstats
path: root/libgamepad_get_absolute_axis_info.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2022-07-27 15:32:10 +0200
committerMattias Andrée <maandree@kth.se>2022-07-27 15:32:10 +0200
commit586ddd6fad5061ea1de4b0fbe903c1c9ea582f72 (patch)
treee34b10acf215a2140df2fd3728300c34825f0734 /libgamepad_get_absolute_axis_info.c
parentnames.sh: improve readability (diff)
downloadlibgamepad-586ddd6fad5061ea1de4b0fbe903c1c9ea582f72.tar.gz
libgamepad-586ddd6fad5061ea1de4b0fbe903c1c9ea582f72.tar.bz2
libgamepad-586ddd6fad5061ea1de4b0fbe903c1c9ea582f72.tar.xz
m + add controller fingerprint + relay less on libevdev
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libgamepad_get_absolute_axis_info.c')
-rw-r--r--libgamepad_get_absolute_axis_info.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libgamepad_get_absolute_axis_info.c b/libgamepad_get_absolute_axis_info.c
index a5aa4d5..ebd38fd 100644
--- a/libgamepad_get_absolute_axis_info.c
+++ b/libgamepad_get_absolute_axis_info.c
@@ -5,5 +5,7 @@
const struct input_absinfo *
libgamepad_get_absolute_axis_info(struct libgamepad_device *device, uint16_t code)
{
- return libevdev_get_abs_info(device->internals->dev, (unsigned int)code);
+ if ((size_t)code >= ELEMSOF(device->absolute_axis_map) || device->absolute_axis_map[code] == -1)
+ return NULL;
+ return &device->internals->absinfo[device->absolute_axis_map[code]];
}