From b0e3c8f97809c8e323783ded0d308c6f0b7729ff Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 29 Mar 2012 09:25:43 +1000 Subject: Split initializing one axis label out into a helper function We need this for mixed axis devices. No functional changes. Signed-off-by: Peter Hutterer Reviewed-by: Chase Douglas --- src/evdev.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index 000eccc..df85c9f 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -122,6 +122,8 @@ static int EvdevOpenDevice(InputInfoPtr pInfo); static void EvdevCloseDevice(InputInfoPtr pInfo); static void EvdevInitAxesLabels(EvdevPtr pEvdev, int mode, int natoms, Atom *atoms); +static void EvdevInitOneAxisLabel(EvdevPtr pEvdev, int axis, + const char **labels, int label_idx, Atom *atoms); static void EvdevInitButtonLabels(EvdevPtr pEvdev, int natoms, Atom *atoms); static void EvdevInitProperty(DeviceIntPtr dev); static int EvdevSetProperty(DeviceIntPtr dev, Atom atom, @@ -2719,9 +2721,23 @@ static const char *btn_labels[][16] = { } }; -static void EvdevInitAxesLabels(EvdevPtr pEvdev, int mode, int natoms, Atom *atoms) +static void EvdevInitOneAxisLabel(EvdevPtr pEvdev, int axis, + const char **labels, int label_idx, Atom *atoms) { Atom atom; + + if (pEvdev->axis_map[axis] == -1) + return; + + atom = XIGetKnownProperty(labels[label_idx]); + if (!atom) /* Should not happen */ + return; + + atoms[pEvdev->axis_map[axis]] = atom; +} + +static void EvdevInitAxesLabels(EvdevPtr pEvdev, int mode, int natoms, Atom *atoms) +{ int axis; const char **labels; int labels_len = 0; @@ -2741,16 +2757,7 @@ static void EvdevInitAxesLabels(EvdevPtr pEvdev, int mode, int natoms, Atom *ato /* Now fill the ones we know */ for (axis = 0; axis < labels_len; axis++) - { - if (pEvdev->axis_map[axis] == -1) - continue; - - atom = XIGetKnownProperty(labels[axis]); - if (!atom) /* Should not happen */ - continue; - - atoms[pEvdev->axis_map[axis]] = atom; - } + EvdevInitOneAxisLabel(pEvdev, axis, labels, axis, atoms); } static void EvdevInitButtonLabels(EvdevPtr pEvdev, int natoms, Atom *atoms) -- cgit v1.2.3