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 <w...@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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to