New function Event_Get_Button

Allows to check the state of arbitrary buttons.

BUG=chromium:285663
TEST=test in conjunction with CL on CMT

Change-Id: Ic1957ce5ea4ecac48f2b3218c6e498cc05f45c2d
Reviewed-on: https://chromium-review.googlesource.com/187668
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Tested-by: Dennis Kempin <denniskempin@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@chromium.org>
diff --git a/src/libevdev_event.c b/src/libevdev_event.c
old mode 100644
new mode 100755
index f9e9d88..ef7e342
--- a/src/libevdev_event.c
+++ b/src/libevdev_event.c
@@ -180,19 +180,25 @@
 int
 Event_Get_Button_Left(EvdevPtr device)
 {
-    return TestBit(BTN_LEFT, device->key_state_bitmask);
+    return Event_Get_Button(device, BTN_LEFT);
 }
 
 int
 Event_Get_Button_Middle(EvdevPtr device)
 {
-    return TestBit(BTN_MIDDLE, device->key_state_bitmask);
+    return Event_Get_Button(device, BTN_MIDDLE);
 }
 
 int
 Event_Get_Button_Right(EvdevPtr device)
 {
-    return TestBit(BTN_RIGHT, device->key_state_bitmask);
+    return Event_Get_Button(device, BTN_RIGHT);
+}
+
+int
+Event_Get_Button(EvdevPtr device, int button)
+{
+    return TestBit(button, device->key_state_bitmask);
 }
 
 #define CASE_RETURN(s) \
@@ -249,6 +255,10 @@
         CASE_RETURN(BTN_LEFT);
         CASE_RETURN(BTN_RIGHT);
         CASE_RETURN(BTN_MIDDLE);
+        CASE_RETURN(BTN_BACK);
+        CASE_RETURN(BTN_FORWARD);
+        CASE_RETURN(BTN_EXTRA);
+        CASE_RETURN(BTN_SIDE);
         CASE_RETURN(BTN_TOUCH);
         CASE_RETURN(BTN_TOOL_FINGER);
         CASE_RETURN(BTN_TOOL_DOUBLETAP);