diff --git a/tools/libinput-list-quirks.c b/tools/libinput-list-quirks.c index 92dcbc59..59d15db7 100644 --- a/tools/libinput-list-quirks.c +++ b/tools/libinput-list-quirks.c @@ -125,10 +125,72 @@ list_device_quirks(struct quirks_context *ctx, struct udev_device *device) } ARRAY_FOR_EACH(qlist, q) { + const char *name; + struct quirk_dimensions dim; + struct quirk_range r; + uint32_t v; + char *s; + if (!quirks_has_quirk(quirks, *q)) continue; - printf("%s\n", quirk_get_name(*q)); + name = quirk_get_name(*q); + + switch (*q) { + case QUIRK_MODEL_ALPS_TOUCHPAD: + case QUIRK_MODEL_APPLE_TOUCHPAD: + case QUIRK_MODEL_APPLE_MAGICMOUSE: + case QUIRK_MODEL_TABLET_NO_TILT: + case QUIRK_MODEL_APPLE_TOUCHPAD_ONEBUTTON: + case QUIRK_MODEL_TOUCHPAD_VISIBLE_MARKER: + case QUIRK_MODEL_CYBORG_RAT: + case QUIRK_MODEL_CHROMEBOOK: + case QUIRK_MODEL_HP6910_TOUCHPAD: + case QUIRK_MODEL_HP8510_TOUCHPAD: + case QUIRK_MODEL_HP_PAVILION_DM4_TOUCHPAD: + case QUIRK_MODEL_HP_STREAM11_TOUCHPAD: + case QUIRK_MODEL_HP_ZBOOK_STUDIO_G3: + case QUIRK_MODEL_TABLET_NO_PROXIMITY_OUT: + case QUIRK_MODEL_LENOVO_SCROLLPOINT: + case QUIRK_MODEL_LENOVO_X230: + case QUIRK_MODEL_LENOVO_T450_TOUCHPAD: + case QUIRK_MODEL_TABLET_MODE_NO_SUSPEND: + case QUIRK_MODEL_LENOVO_CARBON_X1_6TH: + case QUIRK_MODEL_TRACKBALL: + case QUIRK_MODEL_LOGITECH_MARBLE_MOUSE: + case QUIRK_MODEL_BOUNCING_KEYS: + case QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD: + case QUIRK_MODEL_SYSTEM76_BONOBO: + case QUIRK_MODEL_CLEVO_W740SU: + case QUIRK_MODEL_SYSTEM76_GALAGO: + case QUIRK_MODEL_SYSTEM76_KUDU: + case QUIRK_MODEL_WACOM_TOUCHPAD: + printf("%s=1\n", name); + break; + case QUIRK_ATTR_SIZE_HINT: + case QUIRK_ATTR_RESOLUTION_HINT: + quirks_get_dimensions(quirks, *q, &dim); + printf("%s=%ldx%ld\n", name, dim.x, dim.y); + break; + case QUIRK_ATTR_TOUCH_SIZE_RANGE: + case QUIRK_ATTR_PRESSURE_RANGE: + quirks_get_range(quirks, *q, &r); + printf("%s=%d:%d\n", name, r.upper, r.lower); + break; + case QUIRK_ATTR_PALM_SIZE_THRESHOLD: + case QUIRK_ATTR_PALM_PRESSURE_THRESHOLD: + case QUIRK_ATTR_TRACKPOINT_RANGE: + case QUIRK_ATTR_THUMB_PRESSURE_THRESHOLD: + quirks_get_uint32(quirks, *q, &v); + printf("%s=%u\n", name, v); + break; + case QUIRK_ATTR_LID_SWITCH_RELIABILITY: + case QUIRK_ATTR_KEYBOARD_INTEGRATION: + case QUIRK_ATTR_TPKBCOMBO_LAYOUT: + quirks_get_string(quirks, *q, &s); + printf("%s=%s\n", name, s); + break; + } } quirks_unref(quirks);