svn commit: r307804 - head/sys/dev/evdev

Oleksandr Tymoshenko gonzo at FreeBSD.org
Sat Oct 22 22:52:51 UTC 2016


Author: gonzo
Date: Sat Oct 22 22:52:50 2016
New Revision: 307804
URL: https://svnweb.freebsd.org/changeset/base/307804

Log:
  EVDEV: Add shortcut functions for event types
  
  Add wrappers around generic evdev_push_event for specific event types:
  EV_KEY/EV_REL/EV_ABS etc...
  
  Submitted by:	Vladimir Kondratiev <wulf at cicgroup.ru>

Modified:
  head/sys/dev/evdev/evdev.c
  head/sys/dev/evdev/evdev.h
  head/sys/dev/evdev/evdev_utils.c

Modified: head/sys/dev/evdev/evdev.c
==============================================================================
--- head/sys/dev/evdev/evdev.c	Sat Oct 22 22:36:32 2016	(r307803)
+++ head/sys/dev/evdev/evdev.c	Sat Oct 22 22:52:50 2016	(r307804)
@@ -822,21 +822,6 @@ push:
 	return (ret);
 }
 
-inline int
-evdev_sync(struct evdev_dev *evdev)
-{
-
-	return (evdev_push_event(evdev, EV_SYN, SYN_REPORT, 1));
-}
-
-
-inline int
-evdev_mt_sync(struct evdev_dev *evdev)
-{
-
-	return (evdev_push_event(evdev, EV_SYN, SYN_MT_REPORT, 1));
-}
-
 int
 evdev_register_client(struct evdev_dev *evdev, struct evdev_client *client)
 {

Modified: head/sys/dev/evdev/evdev.h
==============================================================================
--- head/sys/dev/evdev/evdev.h	Sat Oct 22 22:36:32 2016	(r307803)
+++ head/sys/dev/evdev/evdev.h	Sat Oct 22 22:52:50 2016	(r307804)
@@ -97,8 +97,6 @@ int evdev_register(struct evdev_dev *);
 int evdev_register_mtx(struct evdev_dev *, struct mtx *);
 int evdev_unregister(struct evdev_dev *);
 int evdev_push_event(struct evdev_dev *, uint16_t, uint16_t, int32_t);
-int evdev_sync(struct evdev_dev *);
-int evdev_mt_sync(struct evdev_dev *);
 void evdev_support_prop(struct evdev_dev *, uint16_t);
 void evdev_support_event(struct evdev_dev *, uint16_t);
 void evdev_support_key(struct evdev_dev *, uint16_t);
@@ -129,4 +127,68 @@ void evdev_push_leds(struct evdev_dev *,
 void evdev_push_repeats(struct evdev_dev *, keyboard_t *);
 evdev_event_t evdev_ev_kbd_event;
 
+/* Event reporting shortcuts: */
+static __inline int
+evdev_sync(struct evdev_dev *evdev)
+{
+
+	return (evdev_push_event(evdev, EV_SYN, SYN_REPORT, 1));
+}
+
+static __inline int
+evdev_mt_sync(struct evdev_dev *evdev)
+{
+
+	return (evdev_push_event(evdev, EV_SYN, SYN_MT_REPORT, 1));
+}
+
+static __inline int
+evdev_push_key(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_KEY, code, value != 0));
+}
+
+static __inline int
+evdev_push_rel(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_REL, code, value));
+}
+
+static __inline int
+evdev_push_abs(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_ABS, code, value));
+}
+
+static __inline int
+evdev_push_msc(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_MSC, code, value));
+}
+
+static __inline int
+evdev_push_led(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_LED, code, value != 0));
+}
+
+static __inline int
+evdev_push_snd(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_SND, code, value != 0));
+}
+
+static __inline int
+evdev_push_sw(struct evdev_dev *evdev, uint16_t code, int32_t value)
+{
+
+	return (evdev_push_event(evdev, EV_SW, code, value != 0));
+}
+
 #endif	/* _DEV_EVDEV_EVDEV_H */

Modified: head/sys/dev/evdev/evdev_utils.c
==============================================================================
--- head/sys/dev/evdev/evdev_utils.c	Sat Oct 22 22:36:32 2016	(r307803)
+++ head/sys/dev/evdev/evdev_utils.c	Sat Oct 22 22:52:50 2016	(r307804)
@@ -271,8 +271,8 @@ evdev_push_mouse_btn(struct evdev_dev *e
 	size_t i;
 
 	for (i = 0; i < nitems(evdev_mouse_button_codes); i++)
-		evdev_push_event(evdev, EV_KEY, evdev_mouse_button_codes[i],
-		    (buttons & (1 << i)) != 0);
+		evdev_push_key(evdev, evdev_mouse_button_codes[i],
+		    buttons & (1 << i));
 }
 
 void
@@ -285,8 +285,7 @@ evdev_push_leds(struct evdev_dev *evdev,
 		return;
 
 	for (i = 0; i < nitems(evdev_led_codes); i++)
-		evdev_push_event(evdev, EV_LED, evdev_led_codes[i],
-		    (leds & (1 << i)) != 0);
+		evdev_push_led(evdev, evdev_led_codes[i], leds & (1 << i));
 }
 
 void


More information about the svn-src-head mailing list