/* Ignore other buttons on clickpads */
if (tp->buttons.is_clickpad && e->code != BTN_LEFT) {
- log_bug("received %s button event on a clickpad (kernel bug?)\n",
- libevdev_event_code_get_name(EV_KEY, e->code));
+ log_bug_kernel("received %s button event on a clickpad\n",
+ libevdev_event_code_get_name(EV_KEY, e->code));
return 0;
}
if (libevdev_has_event_code(device->evdev, EV_KEY, BTN_MIDDLE) ||
libevdev_has_event_code(device->evdev, EV_KEY, BTN_RIGHT)) {
if (tp->buttons.is_clickpad)
- log_bug("clickpad advertising right button (kernel bug?)\n");
+ log_bug_kernel("clickpad advertising right button\n");
} else {
if (!tp->buttons.is_clickpad)
- log_bug("non clickpad without right button (kernel bug)?\n");
+ log_bug_kernel("non clickpad without right button?\n");
}
width = abs(device->abs.max_x - device->abs.min_x);
break;
if (device->mt.slots[slot].seat_slot != -1) {
- log_bug("%s: Driver sent multiple touch down for the "
- "same slot", device->devnode);
+ log_bug_kernel("%s: Driver sent multiple touch down for the "
+ "same slot", device->devnode);
break;
}
break;
if (device->abs.seat_slot != -1) {
- log_bug("%s: Driver sent multiple touch down for the "
- "same slot", device->devnode);
+ log_bug_kernel("%s: Driver sent multiple touch down for the "
+ "same slot", device->devnode);
break;
}
#define log_debug(...) log_msg(LIBINPUT_LOG_PRIORITY_DEBUG, __VA_ARGS__)
#define log_info(...) log_msg(LIBINPUT_LOG_PRIORITY_INFO, __VA_ARGS__)
#define log_error(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, __VA_ARGS__)
-#define log_bug(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "BUG: "__VA_ARGS__)
+#define log_bug_kernel(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "kernel bug: " __VA_ARGS__)
+#define log_bug_libinput(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "libinput bug: " __VA_ARGS__);
+#define log_bug_client(...) log_msg(LIBINPUT_LOG_PRIORITY_ERROR, "client bug: " __VA_ARGS__);
void
log_msg(enum libinput_log_priority priority, const char *format, ...);