revdev 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/revdev/revdev.c +58 -1
- data/lib/revdev/event_device.rb +4 -2
- data/lib/revdev/version.rb +1 -1
- data/test/test_event_device.rb +3 -2
- metadata +4 -4
data/ext/revdev/revdev.c
CHANGED
@@ -132,10 +132,14 @@ void Init_revdev(void)
|
|
132
132
|
rb_define_const(module_revdev, "EVIOCSREP", LONG2FIX(EVIOCSREP));
|
133
133
|
/* get keycode */
|
134
134
|
rb_define_const(module_revdev, "EVIOCGKEYCODE", LONG2FIX(EVIOCGKEYCODE));
|
135
|
+
#ifdef EVIOCGKEYCODE_V2
|
135
136
|
rb_define_const(module_revdev, "EVIOCGKEYCODE_V2", LONG2FIX(EVIOCGKEYCODE_V2));
|
137
|
+
#endif
|
136
138
|
/* set keycode */
|
137
139
|
rb_define_const(module_revdev, "EVIOCSKEYCODE", LONG2FIX(EVIOCSKEYCODE));
|
140
|
+
#ifdef EVIOCSKEYCODE_V2
|
138
141
|
rb_define_const(module_revdev, "EVIOCSKEYCODE_V2", LONG2FIX(EVIOCSKEYCODE_V2));
|
142
|
+
#endif
|
139
143
|
|
140
144
|
/* get device name */
|
141
145
|
rb_define_const(module_revdev, "EVIOCGNAME", LONG2FIX(EVIOCGNAME(BUFF_SIZE)));
|
@@ -143,8 +147,10 @@ void Init_revdev(void)
|
|
143
147
|
rb_define_const(module_revdev, "EVIOCGPHYS", LONG2FIX(EVIOCGPHYS(BUFF_SIZE)));
|
144
148
|
/* get unique identifier */
|
145
149
|
rb_define_const(module_revdev, "EVIOCGUNIQ", LONG2FIX(EVIOCGUNIQ(BUFF_SIZE)));
|
150
|
+
#ifdef EVIOCGPROP
|
146
151
|
/* get device properties */
|
147
152
|
rb_define_const(module_revdev, "EVIOCGPROP", LONG2FIX(EVIOCGPROP(BUFF_SIZE)));
|
153
|
+
#endif
|
148
154
|
/* get global key state */
|
149
155
|
rb_define_const(module_revdev, "EVIOCGKEY", LONG2FIX(EVIOCGKEY(BUFF_SIZE)));
|
150
156
|
/* get all LEDs */
|
@@ -174,13 +180,24 @@ void Init_revdev(void)
|
|
174
180
|
* Device properties and quirks
|
175
181
|
*/
|
176
182
|
|
183
|
+
#ifdef INPUT_PROP_POINTER
|
177
184
|
rb_define_const(module_revdev, "INPUT_PROP_POINTER", INT2NUM(INPUT_PROP_POINTER));/* needs a pointer */
|
185
|
+
#endif
|
186
|
+
#ifdef INPUT_PROP_DIRECT
|
178
187
|
rb_define_const(module_revdev, "INPUT_PROP_DIRECT", INT2NUM(INPUT_PROP_DIRECT));/* direct input devices */
|
188
|
+
#endif
|
189
|
+
#ifdef INPUT_PROP_BUTTONPAD
|
179
190
|
rb_define_const(module_revdev, "INPUT_PROP_BUTTONPAD", INT2NUM(INPUT_PROP_BUTTONPAD));/* has button(s) under pad */
|
191
|
+
#endif
|
192
|
+
#ifdef INPUT_PROP_SEMI_MT
|
180
193
|
rb_define_const(module_revdev, "INPUT_PROP_SEMI_MT", INT2NUM(INPUT_PROP_SEMI_MT));/* touch rectangle only */
|
181
|
-
|
194
|
+
#endif
|
195
|
+
#ifdef INPUT_PROP_MAX
|
182
196
|
rb_define_const(module_revdev, "INPUT_PROP_MAX", INT2NUM(INPUT_PROP_MAX));
|
197
|
+
#endif
|
198
|
+
#ifdef INPUT_PROP_CNT
|
183
199
|
rb_define_const(module_revdev, "INPUT_PROP_CNT", INT2NUM(INPUT_PROP_CNT));
|
200
|
+
#endif
|
184
201
|
|
185
202
|
/*
|
186
203
|
* Event types
|
@@ -208,7 +225,9 @@ void Init_revdev(void)
|
|
208
225
|
rb_define_const(module_revdev, "SYN_REPORT", INT2NUM(SYN_REPORT));
|
209
226
|
rb_define_const(module_revdev, "SYN_CONFIG", INT2NUM(SYN_CONFIG));
|
210
227
|
rb_define_const(module_revdev, "SYN_MT_REPORT", INT2NUM(SYN_MT_REPORT));
|
228
|
+
#ifdef SYN_DROPPED
|
211
229
|
rb_define_const(module_revdev, "SYN_DROPPED", INT2NUM(SYN_DROPPED));
|
230
|
+
#endif
|
212
231
|
|
213
232
|
/*
|
214
233
|
* Keys and buttons
|
@@ -477,7 +496,9 @@ void Init_revdev(void)
|
|
477
496
|
rb_define_const(module_revdev, "KEY_DISPLAY_OFF", INT2NUM(KEY_DISPLAY_OFF));/* display device to off state */
|
478
497
|
|
479
498
|
rb_define_const(module_revdev, "KEY_WIMAX", INT2NUM(KEY_WIMAX));
|
499
|
+
#ifdef KEY_RFKILL
|
480
500
|
rb_define_const(module_revdev, "KEY_RFKILL", INT2NUM(KEY_RFKILL));/* Key that controls all radios */
|
501
|
+
#endif
|
481
502
|
|
482
503
|
/* Code 255 is reserved for special needs of AT keyboard driver */
|
483
504
|
|
@@ -645,9 +666,15 @@ void Init_revdev(void)
|
|
645
666
|
rb_define_const(module_revdev, "KEY_FRAMEFORWARD", INT2NUM(KEY_FRAMEFORWARD));
|
646
667
|
rb_define_const(module_revdev, "KEY_CONTEXT_MENU", INT2NUM(KEY_CONTEXT_MENU));/* GenDesc - system context menu */
|
647
668
|
rb_define_const(module_revdev, "KEY_MEDIA_REPEAT", INT2NUM(KEY_MEDIA_REPEAT));/* Consumer - transport control */
|
669
|
+
#ifdef KEY_10CHANNELSUP
|
648
670
|
rb_define_const(module_revdev, "KEY_10CHANNELSUP", INT2NUM(KEY_10CHANNELSUP));/* 10 channels up (10+) */
|
671
|
+
#endif
|
672
|
+
#ifdef KEY_10CHANNELSDOWN
|
649
673
|
rb_define_const(module_revdev, "KEY_10CHANNELSDOWN", INT2NUM(KEY_10CHANNELSDOWN));/* 10 channels down (10-) */
|
674
|
+
#endif
|
675
|
+
#ifdef KEY_IMAGES
|
650
676
|
rb_define_const(module_revdev, "KEY_IMAGES", INT2NUM(KEY_IMAGES));/* AL Image Browser */
|
677
|
+
#endif
|
651
678
|
|
652
679
|
rb_define_const(module_revdev, "KEY_DEL_EOL", INT2NUM(KEY_DEL_EOL));
|
653
680
|
rb_define_const(module_revdev, "KEY_DEL_EOS", INT2NUM(KEY_DEL_EOS));
|
@@ -700,20 +727,29 @@ void Init_revdev(void)
|
|
700
727
|
rb_define_const(module_revdev, "KEY_NUMERIC_STAR", INT2NUM(KEY_NUMERIC_STAR));
|
701
728
|
rb_define_const(module_revdev, "KEY_NUMERIC_POUND", INT2NUM(KEY_NUMERIC_POUND));
|
702
729
|
|
730
|
+
#ifdef KEY_CAMERA_FOCUS
|
703
731
|
rb_define_const(module_revdev, "KEY_CAMERA_FOCUS", INT2NUM(KEY_CAMERA_FOCUS));
|
732
|
+
#endif
|
733
|
+
#ifdef KEY_WPS_BUTTON
|
704
734
|
rb_define_const(module_revdev, "KEY_WPS_BUTTON", INT2NUM(KEY_WPS_BUTTON));/* WiFi Protected Setup key */
|
735
|
+
#endif
|
705
736
|
|
737
|
+
#ifdef KEY_TOUCHPAD_TOGGLE
|
706
738
|
rb_define_const(module_revdev, "KEY_TOUCHPAD_TOGGLE", INT2NUM(KEY_TOUCHPAD_TOGGLE));/* Request switch touchpad on or off */
|
707
739
|
rb_define_const(module_revdev, "KEY_TOUCHPAD_ON", INT2NUM(KEY_TOUCHPAD_ON));
|
708
740
|
rb_define_const(module_revdev, "KEY_TOUCHPAD_OFF", INT2NUM(KEY_TOUCHPAD_OFF));
|
741
|
+
#endif
|
709
742
|
|
743
|
+
#ifdef KEY_CAMERA_ZOOMIN
|
710
744
|
rb_define_const(module_revdev, "KEY_CAMERA_ZOOMIN", INT2NUM(KEY_CAMERA_ZOOMIN));
|
711
745
|
rb_define_const(module_revdev, "KEY_CAMERA_ZOOMOUT", INT2NUM(KEY_CAMERA_ZOOMOUT));
|
712
746
|
rb_define_const(module_revdev, "KEY_CAMERA_UP", INT2NUM(KEY_CAMERA_UP));
|
713
747
|
rb_define_const(module_revdev, "KEY_CAMERA_DOWN", INT2NUM(KEY_CAMERA_DOWN));
|
714
748
|
rb_define_const(module_revdev, "KEY_CAMERA_LEFT", INT2NUM(KEY_CAMERA_LEFT));
|
715
749
|
rb_define_const(module_revdev, "KEY_CAMERA_RIGHT", INT2NUM(KEY_CAMERA_RIGHT));
|
750
|
+
#endif
|
716
751
|
|
752
|
+
#ifdef BTN_TRIGGER_HAPPY
|
717
753
|
rb_define_const(module_revdev, "BTN_TRIGGER_HAPPY", INT2NUM(BTN_TRIGGER_HAPPY));
|
718
754
|
rb_define_const(module_revdev, "BTN_TRIGGER_HAPPY1", INT2NUM(BTN_TRIGGER_HAPPY1));
|
719
755
|
rb_define_const(module_revdev, "BTN_TRIGGER_HAPPY2", INT2NUM(BTN_TRIGGER_HAPPY2));
|
@@ -755,6 +791,7 @@ void Init_revdev(void)
|
|
755
791
|
rb_define_const(module_revdev, "BTN_TRIGGER_HAPPY38", INT2NUM(BTN_TRIGGER_HAPPY38));
|
756
792
|
rb_define_const(module_revdev, "BTN_TRIGGER_HAPPY39", INT2NUM(BTN_TRIGGER_HAPPY39));
|
757
793
|
rb_define_const(module_revdev, "BTN_TRIGGER_HAPPY40", INT2NUM(BTN_TRIGGER_HAPPY40));
|
794
|
+
#endif
|
758
795
|
|
759
796
|
/* We avoid low common keys in module aliases so they don't get huge. */
|
760
797
|
rb_define_const(module_revdev, "KEY_MIN_INTERESTING", INT2NUM(KEY_MIN_INTERESTING));
|
@@ -811,7 +848,9 @@ void Init_revdev(void)
|
|
811
848
|
|
812
849
|
rb_define_const(module_revdev, "ABS_MISC", INT2NUM(ABS_MISC));
|
813
850
|
|
851
|
+
#ifdef ABS_MT_SLOT
|
814
852
|
rb_define_const(module_revdev, "ABS_MT_SLOT", INT2NUM(ABS_MT_SLOT));/* MT slot being modified */
|
853
|
+
#endif
|
815
854
|
rb_define_const(module_revdev, "ABS_MT_TOUCH_MAJOR", INT2NUM(ABS_MT_TOUCH_MAJOR));/* Major axis of touching ellipse */
|
816
855
|
rb_define_const(module_revdev, "ABS_MT_TOUCH_MINOR", INT2NUM(ABS_MT_TOUCH_MINOR));/* Minor axis (omit if circular) */
|
817
856
|
rb_define_const(module_revdev, "ABS_MT_WIDTH_MAJOR", INT2NUM(ABS_MT_WIDTH_MAJOR));/* Major axis of approaching ellipse */
|
@@ -822,8 +861,12 @@ void Init_revdev(void)
|
|
822
861
|
rb_define_const(module_revdev, "ABS_MT_TOOL_TYPE", INT2NUM(ABS_MT_TOOL_TYPE));/* Type of touching device */
|
823
862
|
rb_define_const(module_revdev, "ABS_MT_BLOB_ID", INT2NUM(ABS_MT_BLOB_ID));/* Group a set of packets as a blob */
|
824
863
|
rb_define_const(module_revdev, "ABS_MT_TRACKING_ID", INT2NUM(ABS_MT_TRACKING_ID));/* Unique ID of initiated contact */
|
864
|
+
#ifdef ABS_MT_PRESSURE
|
825
865
|
rb_define_const(module_revdev, "ABS_MT_PRESSURE", INT2NUM(ABS_MT_PRESSURE));/* Pressure on contact area */
|
866
|
+
#endif
|
867
|
+
#ifdef ABS_MT_DISTANCE
|
826
868
|
rb_define_const(module_revdev, "ABS_MT_DISTANCE", INT2NUM(ABS_MT_DISTANCE));/* Contact hover distance */
|
869
|
+
#endif
|
827
870
|
|
828
871
|
|
829
872
|
rb_define_const(module_revdev, "ABS_MAX", INT2NUM(ABS_MAX));
|
@@ -844,10 +887,18 @@ void Init_revdev(void)
|
|
844
887
|
rb_define_const(module_revdev, "SW_LINEOUT_INSERT", INT2NUM(SW_LINEOUT_INSERT));/* set = inserted */
|
845
888
|
rb_define_const(module_revdev, "SW_JACK_PHYSICAL_INSERT", INT2NUM(SW_JACK_PHYSICAL_INSERT));/* set = mechanical switch set */
|
846
889
|
rb_define_const(module_revdev, "SW_VIDEOOUT_INSERT", INT2NUM(SW_VIDEOOUT_INSERT));/* set = inserted */
|
890
|
+
#ifdef SW_CAMERA_LENS_COVER
|
847
891
|
rb_define_const(module_revdev, "SW_CAMERA_LENS_COVER", INT2NUM(SW_CAMERA_LENS_COVER));/* set = lens covered */
|
892
|
+
#endif
|
893
|
+
#ifdef SW_KEYPAD_SLIDE
|
848
894
|
rb_define_const(module_revdev, "SW_KEYPAD_SLIDE", INT2NUM(SW_KEYPAD_SLIDE));/* set = keypad slide out */
|
895
|
+
#endif
|
896
|
+
#ifdef SW_FRONT_PROXIMITY
|
849
897
|
rb_define_const(module_revdev, "SW_FRONT_PROXIMITY", INT2NUM(SW_FRONT_PROXIMITY));/* set = front proximity sensor active */
|
898
|
+
#endif
|
899
|
+
#ifdef SW_ROTATE_LOCK
|
850
900
|
rb_define_const(module_revdev, "SW_ROTATE_LOCK", INT2NUM(SW_ROTATE_LOCK));/* set = rotate locked/disabled */
|
901
|
+
#endif
|
851
902
|
rb_define_const(module_revdev, "SW_MAX", INT2NUM(SW_MAX));
|
852
903
|
rb_define_const(module_revdev, "SW_CNT", INT2NUM(SW_CNT));
|
853
904
|
|
@@ -888,7 +939,9 @@ void Init_revdev(void)
|
|
888
939
|
rb_define_const(module_revdev, "REP_DELAY", INT2NUM(REP_DELAY));
|
889
940
|
rb_define_const(module_revdev, "REP_PERIOD", INT2NUM(REP_PERIOD));
|
890
941
|
rb_define_const(module_revdev, "REP_MAX", INT2NUM(REP_MAX));
|
942
|
+
#ifdef REP_CNT
|
891
943
|
rb_define_const(module_revdev, "REP_CNT", INT2NUM(REP_CNT));
|
944
|
+
#endif
|
892
945
|
|
893
946
|
/*
|
894
947
|
* Sounds
|
@@ -928,14 +981,18 @@ void Init_revdev(void)
|
|
928
981
|
rb_define_const(module_revdev, "BUS_HOST", INT2NUM(BUS_HOST));
|
929
982
|
rb_define_const(module_revdev, "BUS_GSC", INT2NUM(BUS_GSC));
|
930
983
|
rb_define_const(module_revdev, "BUS_ATARI", INT2NUM(BUS_ATARI));
|
984
|
+
#ifdef BUS_SPI
|
931
985
|
rb_define_const(module_revdev, "BUS_SPI", INT2NUM(BUS_SPI));
|
986
|
+
#endif
|
932
987
|
|
933
988
|
/*
|
934
989
|
* MT_TOOL types
|
935
990
|
*/
|
936
991
|
rb_define_const(module_revdev, "MT_TOOL_FINGER", INT2NUM(MT_TOOL_FINGER));
|
937
992
|
rb_define_const(module_revdev, "MT_TOOL_PEN", INT2NUM(MT_TOOL_PEN));
|
993
|
+
#ifdef MT_TOOL
|
938
994
|
rb_define_const(module_revdev, "MT_TOOL_MAX", INT2NUM(MT_TOOL_MAX));
|
995
|
+
#endif
|
939
996
|
|
940
997
|
/*
|
941
998
|
* Values describing the status of a force-feedback effect
|
data/lib/revdev/event_device.rb
CHANGED
@@ -46,8 +46,10 @@ module Revdev
|
|
46
46
|
read_ioctl_as_string_with EVIOCGUNIQ
|
47
47
|
end
|
48
48
|
|
49
|
-
|
50
|
-
|
49
|
+
if const_defined? :EVIOCGPROP
|
50
|
+
def device_prop
|
51
|
+
read_ioctl_as_string_with EVIOCGPROP
|
52
|
+
end
|
51
53
|
end
|
52
54
|
|
53
55
|
def global_key_state
|
data/lib/revdev/version.rb
CHANGED
data/test/test_event_device.rb
CHANGED
@@ -52,13 +52,14 @@ class EventDeviceTest < Test::Unit::TestCase
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
[:device_name, :physical_location, :uniq_id, :
|
56
|
-
:all_leds_status, :all_sounds_status, :all_switch_status].each do |m|
|
55
|
+
[:device_name, :physical_location, :uniq_id, :global_key_state].each do |m|
|
57
56
|
evdev = EventDevice.new file
|
58
57
|
assert_equal expected_data, evdev.method(m).call
|
59
58
|
end
|
60
59
|
end
|
61
60
|
|
61
|
+
# TODO test all_*_status
|
62
|
+
|
62
63
|
def test_read_input_event
|
63
64
|
file = File.new @@target
|
64
65
|
ie = InputEvent.new nil, 1, 2, 3
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: revdev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Keiichiro Ui
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-04-
|
18
|
+
date: 2012-04-21 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rake
|