linux_input 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 60db76cc4c7bc2652c578fe9e1835f423b661d3d
4
- data.tar.gz: 8eae0f28d0c77b3d044fdbf960816a78b2fa15ae
2
+ SHA256:
3
+ metadata.gz: eb9a565c5471d459f9c34b7d2c9aedafbb77d6b9813328f993be2e4dadd59c9e
4
+ data.tar.gz: 171f30da9f919f0bf1739f3f4f8081f4e819ca668fec72bc1ecfe8bf6123eaae
5
5
  SHA512:
6
- metadata.gz: b88319fd7cf7439720e047454e5d17221b56751bd819d07970cd2eb831d313a7289cbecc2361b1de00112f7b9cd2f2b6891cb7b3e75d2f9a9d7c168f9af7def6
7
- data.tar.gz: da3e4f72f1d057ec17400afb14a264390eec943b9fa0862d492c87f1cee23ed39b53e6c47f693a13a349a3a0ab27cbbc3b9188fff724656659e720fac90fcc78
6
+ metadata.gz: e95c844dd6bde0322d819eb4a46f38cfd5b197a7c49bc696e706a9f4aaab3bddd78367331c452bbdda819c9f20b2a1263772185374bdee8eb6b2b1bff9b2d698
7
+ data.tar.gz: b16c4d1f5623280c01207080194ba2ff164957aefbdb2f081eb9903c1d8e1cc199153bf1f14dbba51e57a9d4566fd79e4e96854c4f7ae6855e7e317bc2e03c07
data/.rakeTasks ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build linux_input-1.0.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeGroup description="" fullCmd="" taksId="ffi"><RakeTask description="Generate ffi interface" fullCmd="ffi:generate" taksId="generate" /></RakeGroup><RakeTask description="Build and install linux_input-1.0.0.gem into system gems" fullCmd="install" taksId="install" /><RakeTask description="Create tag v1.0.0 and build and push linux_input-1.0.0.gem to Rubygems" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
data/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  FFI structs and constants for linux's input subsystem found in linux/input.h
4
4
 
5
+ Have a look at the [Libevdev](https://github.com/christopheraue/ruby-libevdev)
6
+ gem for an easier to use interface to the input subsystem.
7
+
5
8
  ## Installation
6
9
 
7
10
  Add this line to your application's Gemfile:
@@ -1,40 +1,3 @@
1
- class InputEvent < FFI::Struct
2
- layout(
3
- :time, Timeval,
4
- :type, :ushort,
5
- :code, :ushort,
6
- :value, :int
7
- )
8
- end
9
- EV_VERSION = 0x010001
10
- class InputId < FFI::Struct
11
- layout(
12
- :bustype, :ushort,
13
- :vendor, :ushort,
14
- :product, :ushort,
15
- :version, :ushort
16
- )
17
- end
18
- class InputAbsinfo < FFI::Struct
19
- layout(
20
- :value, :int,
21
- :minimum, :int,
22
- :maximum, :int,
23
- :fuzz, :int,
24
- :flat, :int,
25
- :resolution, :int
26
- )
27
- end
28
- INPUT_KEYMAP_BY_INDEX = (1 << 0)
29
- class InputKeymapEntry < FFI::Struct
30
- layout(
31
- :flags, :uchar,
32
- :len, :uchar,
33
- :index, :ushort,
34
- :keycode, :uint,
35
- :scancode, [:uchar, 32]
36
- )
37
- end
38
1
  INPUT_PROP_POINTER = 0x00
39
2
  INPUT_PROP_DIRECT = 0x01
40
3
  INPUT_PROP_BUTTONPAD = 0x02
@@ -218,6 +181,7 @@
218
181
  KEY_MSDOS = 151
219
182
  KEY_COFFEE = 152
220
183
  KEY_SCREENLOCK = 152
184
+ KEY_ROTATE_DISPLAY = 153
221
185
  KEY_DIRECTION = 153
222
186
  KEY_CYCLEWINDOWS = 154
223
187
  KEY_MAIL = 155
@@ -375,6 +339,7 @@
375
339
  BTN_TOOL_MOUSE = 0x146
376
340
  BTN_TOOL_LENS = 0x147
377
341
  BTN_TOOL_QUINTTAP = 0x148
342
+ BTN_STYLUS3 = 0x149
378
343
  BTN_TOUCH = 0x14a
379
344
  BTN_STYLUS = 0x14b
380
345
  BTN_STYLUS2 = 0x14c
@@ -404,9 +369,11 @@
404
369
  KEY_TITLE = 0x171
405
370
  KEY_SUBTITLE = 0x172
406
371
  KEY_ANGLE = 0x173
372
+ KEY_FULL_SCREEN = 0x174
407
373
  KEY_ZOOM = 0x174
408
374
  KEY_MODE = 0x175
409
375
  KEY_KEYBOARD = 0x176
376
+ KEY_ASPECT_RATIO = 0x177
410
377
  KEY_SCREEN = 0x177
411
378
  KEY_PC = 0x178
412
379
  KEY_TV = 0x179
@@ -523,6 +490,10 @@
523
490
  KEY_NUMERIC_9 = 0x209
524
491
  KEY_NUMERIC_STAR = 0x20a
525
492
  KEY_NUMERIC_POUND = 0x20b
493
+ KEY_NUMERIC_A = 0x20c
494
+ KEY_NUMERIC_B = 0x20d
495
+ KEY_NUMERIC_C = 0x20e
496
+ KEY_NUMERIC_D = 0x20f
526
497
  KEY_CAMERA_FOCUS = 0x210
527
498
  KEY_WPS_BUTTON = 0x211
528
499
  KEY_TOUCHPAD_TOGGLE = 0x212
@@ -543,6 +514,7 @@
543
514
  BTN_DPAD_LEFT = 0x222
544
515
  BTN_DPAD_RIGHT = 0x223
545
516
  KEY_ALS_TOGGLE = 0x230
517
+ KEY_ROTATE_LOCK_TOGGLE = 0x231
546
518
  KEY_BUTTONCONFIG = 0x240
547
519
  KEY_TASKMANAGER = 0x241
548
520
  KEY_JOURNAL = 0x242
@@ -550,6 +522,8 @@
550
522
  KEY_APPSELECT = 0x244
551
523
  KEY_SCREENSAVER = 0x245
552
524
  KEY_VOICECOMMAND = 0x246
525
+ KEY_ASSISTANT = 0x247
526
+ KEY_KBD_LAYOUT_NEXT = 0x248
553
527
  KEY_BRIGHTNESS_MIN = 0x250
554
528
  KEY_BRIGHTNESS_MAX = 0x251
555
529
  KEY_KBDINPUTASSIST_PREV = 0x260
@@ -558,6 +532,25 @@
558
532
  KEY_KBDINPUTASSIST_NEXTGROUP = 0x263
559
533
  KEY_KBDINPUTASSIST_ACCEPT = 0x264
560
534
  KEY_KBDINPUTASSIST_CANCEL = 0x265
535
+ KEY_RIGHT_UP = 0x266
536
+ KEY_RIGHT_DOWN = 0x267
537
+ KEY_LEFT_UP = 0x268
538
+ KEY_LEFT_DOWN = 0x269
539
+ KEY_ROOT_MENU = 0x26a
540
+ KEY_MEDIA_TOP_MENU = 0x26b
541
+ KEY_NUMERIC_11 = 0x26c
542
+ KEY_NUMERIC_12 = 0x26d
543
+ KEY_AUDIO_DESC = 0x26e
544
+ KEY_3D_MODE = 0x26f
545
+ KEY_NEXT_FAVORITE = 0x270
546
+ KEY_STOP_RECORD = 0x271
547
+ KEY_PAUSE_RECORD = 0x272
548
+ KEY_VOD = 0x273
549
+ KEY_UNMUTE = 0x274
550
+ KEY_FASTREVERSE = 0x275
551
+ KEY_SLOWREVERSE = 0x276
552
+ KEY_DATA = 0x277
553
+ KEY_ONSCREEN_KEYBOARD = 0x278
561
554
  BTN_TRIGGER_HAPPY = 0x2c0
562
555
  BTN_TRIGGER_HAPPY1 = 0x2c0
563
556
  BTN_TRIGGER_HAPPY2 = 0x2c1
@@ -612,6 +605,9 @@
612
605
  REL_DIAL = 0x07
613
606
  REL_WHEEL = 0x08
614
607
  REL_MISC = 0x09
608
+ REL_RESERVED = 0x0a
609
+ REL_WHEEL_HI_RES = 0x0b
610
+ REL_HWHEEL_HI_RES = 0x0c
615
611
  REL_MAX = 0x0f
616
612
  REL_CNT = (0x0f+1)
617
613
  ABS_X = 0x00
@@ -640,6 +636,7 @@
640
636
  ABS_TOOL_WIDTH = 0x1c
641
637
  ABS_VOLUME = 0x20
642
638
  ABS_MISC = 0x28
639
+ ABS_RESERVED = 0x2e
643
640
  ABS_MT_SLOT = 0x2f
644
641
  ABS_MT_TOUCH_MAJOR = 0x30
645
642
  ABS_MT_TOUCH_MINOR = 0x31
@@ -673,6 +670,7 @@
673
670
  SW_ROTATE_LOCK = 0x0c
674
671
  SW_LINEIN_INSERT = 0x0d
675
672
  SW_MUTE_DEVICE = 0x0e
673
+ SW_PEN_INSERTED = 0x0f
676
674
  SW_MAX = 0x0f
677
675
  SW_CNT = (0x0f+1)
678
676
  MSC_SERIAL = 0x00
@@ -705,6 +703,50 @@
705
703
  SND_TONE = 0x02
706
704
  SND_MAX = 0x07
707
705
  SND_CNT = (0x07+1)
706
+ class InputEvent < FFI::Struct
707
+ layout(
708
+ :time, Timeval,
709
+ :type, :ushort,
710
+ :code, :ushort,
711
+ :value, :int
712
+ )
713
+ end
714
+ EV_VERSION = 0x010001
715
+ class InputId < FFI::Struct
716
+ layout(
717
+ :bustype, :ushort,
718
+ :vendor, :ushort,
719
+ :product, :ushort,
720
+ :version, :ushort
721
+ )
722
+ end
723
+ class InputAbsinfo < FFI::Struct
724
+ layout(
725
+ :value, :int,
726
+ :minimum, :int,
727
+ :maximum, :int,
728
+ :fuzz, :int,
729
+ :flat, :int,
730
+ :resolution, :int
731
+ )
732
+ end
733
+ INPUT_KEYMAP_BY_INDEX = (1 << 0)
734
+ class InputKeymapEntry < FFI::Struct
735
+ layout(
736
+ :flags, :uchar,
737
+ :len, :uchar,
738
+ :index, :ushort,
739
+ :keycode, :uint,
740
+ :scancode, [:uchar, 32]
741
+ )
742
+ end
743
+ class InputMask < FFI::Struct
744
+ layout(
745
+ :type, :uint,
746
+ :codes_size, :uint,
747
+ :codes_ptr, :ulong_long
748
+ )
749
+ end
708
750
  ID_BUS = 0
709
751
  ID_VENDOR = 1
710
752
  ID_PRODUCT = 2
@@ -728,10 +770,14 @@
728
770
  BUS_GSC = 0x1A
729
771
  BUS_ATARI = 0x1B
730
772
  BUS_SPI = 0x1C
731
- MT_TOOL_FINGER = 0
732
- MT_TOOL_PEN = 1
733
- MT_TOOL_PALM = 2
734
- MT_TOOL_MAX = 2
773
+ BUS_RMI = 0x1D
774
+ BUS_CEC = 0x1E
775
+ BUS_INTEL_ISHTP = 0x1F
776
+ MT_TOOL_FINGER = 0x00
777
+ MT_TOOL_PEN = 0x01
778
+ MT_TOOL_PALM = 0x02
779
+ MT_TOOL_DIAL = 0x0a
780
+ MT_TOOL_MAX = 0x0f
735
781
  FF_STATUS_STOPPED = 0x00
736
782
  FF_STATUS_PLAYING = 0x01
737
783
  FF_STATUS_MAX = 0x01
@@ -798,11 +844,11 @@
798
844
  end
799
845
  class FfEffectU < FFI::Union
800
846
  layout(
801
- :constant, FfConstantEffect,
802
- :ramp, FfRampEffect,
803
- :periodic, FfPeriodicEffect,
804
- :condition, [FfConditionEffect, 2],
805
- :rumble, FfRumbleEffect
847
+ :constant, FfConstantEffect,
848
+ :ramp, FfRampEffect,
849
+ :periodic, FfPeriodicEffect,
850
+ :condition, [FfConditionEffect, 2],
851
+ :rumble, FfRumbleEffect
806
852
  )
807
853
  end
808
854
  class FfEffect < FFI::Struct
@@ -835,5 +881,6 @@
835
881
  FF_WAVEFORM_MAX = 0x5d
836
882
  FF_GAIN = 0x60
837
883
  FF_AUTOCENTER = 0x61
884
+ FF_MAX_EFFECTS = 0x60
838
885
  FF_MAX = 0x7f
839
886
  FF_CNT = (0x7f+1)
@@ -1,3 +1,3 @@
1
1
  module LinuxInput
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
data/linux_input.gemspec CHANGED
@@ -19,6 +19,6 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_runtime_dependency 'ffi', '~> 1.9'
21
21
  spec.add_development_dependency "bundler", "~> 1.8"
22
- spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "rake", "~> 13.0"
23
23
  spec.add_development_dependency "ffi-swig-generator", '~> 0'
24
24
  end
data/swig/input.i CHANGED
@@ -17,4 +17,5 @@ typedef long long __s64;
17
17
  typedef unsigned long long __u64;
18
18
  #endif
19
19
 
20
+ %include "linux/input-event-codes.h"
20
21
  %include "linux/input.h"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linux_input
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Aue
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-28 00:00:00.000000000 Z
11
+ date: 2020-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ffi-swig-generator
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +74,7 @@ extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
76
  - ".gitignore"
77
+ - ".rakeTasks"
77
78
  - ".rspec"
78
79
  - ".travis.yml"
79
80
  - Gemfile
@@ -110,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
111
  version: '0'
111
112
  requirements: []
112
113
  rubyforge_project:
113
- rubygems_version: 2.4.8
114
+ rubygems_version: 2.7.6
114
115
  signing_key:
115
116
  specification_version: 4
116
117
  summary: FFI structs and constants for linux's input subsystem