mirror of
https://github.com/X11Libre/xf86-input-evdev.git
synced 2026-03-25 10:19:22 +00:00
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 <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
29
src/evdev.c
29
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)
|
||||
|
||||
Reference in New Issue
Block a user