xinput_wrapper 0.1.3 → 0.2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/xinput_wrapper.rb +52 -50
- metadata +3 -45
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b6e1b5f2e6105f33b76431173f63596ae7e96461
         | 
| 4 | 
            +
              data.tar.gz: 19ff16d496d5f940ae43fe37d839ae84b6dfbe50
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bf611312a0c7b010621c6b3505afce6816370798f92f069e3d76eb60635610e38e9a1ce9b3753d112fe9816f9096a8603325f4cfb66b0701532dc70e3b83fc1b
         | 
| 7 | 
            +
              data.tar.gz: 9af14598e6af1c75d4c22d610c7a6c950480eb27e81e4513da42a5e4020e50e81cbf6c3f181ad0a475b57f39eec46451bf2d8fa51e4519e40316102be0badc7a
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/lib/xinput_wrapper.rb
    CHANGED
    
    | @@ -3,49 +3,40 @@ | |
| 3 3 | 
             
            # file: xinput_wrapper.rb
         | 
| 4 4 |  | 
| 5 5 |  | 
| 6 | 
            -
            require 'sps-pub'
         | 
| 7 | 
            -
            require 'secret_knock'
         | 
| 8 | 
            -
             | 
| 9 6 |  | 
| 10 7 | 
             
            class XInputWrapper
         | 
| 11 8 |  | 
| 12 | 
            -
              def initialize(device: '3',  | 
| 13 | 
            -
                             topic: 'input/keyboard', verbose: true, lookup: {}, 
         | 
| 14 | 
            -
                             interval: nil, debug: false)
         | 
| 9 | 
            +
              def initialize(device: '3', verbose: true, lookup: {}, debug: false )
         | 
| 15 10 |  | 
| 16 11 | 
             
                @lookup = {
         | 
| 17 | 
            -
                  37 => :control,
         | 
| 18 | 
            -
                  50 => : | 
| 19 | 
            -
                   | 
| 12 | 
            +
                  37 => :control,      
         | 
| 13 | 
            +
                  50 => :shift,
         | 
| 14 | 
            +
                  62 => :shift,
         | 
| 15 | 
            +
                  67 => :f1,
         | 
| 16 | 
            +
                  68 => :f2,
         | 
| 17 | 
            +
                  69 => :f3,
         | 
| 18 | 
            +
                  70 => :f4,
         | 
| 19 | 
            +
                  71 => :f5,
         | 
| 20 | 
            +
                  72 => :f6,
         | 
| 21 | 
            +
                  73 => :f7,
         | 
| 22 | 
            +
                  74 => :f8,
         | 
| 23 | 
            +
                  75 => :f9,
         | 
| 24 | 
            +
                  76 => :f10,
         | 
| 25 | 
            +
                  95 => :f11,
         | 
| 26 | 
            +
                  96 => :f12,            
         | 
| 27 | 
            +
                  105 => :control,
         | 
| 28 | 
            +
                  133 => :super,
         | 
| 29 | 
            +
                  134 => :super
         | 
| 20 30 | 
             
                }.merge(lookup)
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                @device, @topic, @verbose, @debug = device, topic, verbose, debug
         | 
| 23 | 
            -
                @sps = SPSPub.new host: host, port: port
         | 
| 24 | 
            -
                @sk = SecretKnock.new short_delay: 0.25, long_delay: 0.5, 
         | 
| 25 | 
            -
                                          external: self, verbose: verbose, debug: debug
         | 
| 26 | 
            -
                @interval = interval
         | 
| 27 | 
            -
                @time = Time.now if interval
         | 
| 28 | 
            -
                
         | 
| 29 | 
            -
              end
         | 
| 30 | 
            -
             | 
| 31 | 
            -
              def knock()
         | 
| 32 | 
            -
                puts 'knock' if @verbose
         | 
| 33 | 
            -
              end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
              def message(msg)
         | 
| 36 31 |  | 
| 37 | 
            -
                 | 
| 32 | 
            +
                @device, @verbose, @debug = device, verbose, debug
         | 
| 38 33 |  | 
| 39 | 
            -
                return if msg.strip.empty?
         | 
| 40 | 
            -
                
         | 
| 41 | 
            -
                @sps.notice "%s: %s" % [@topic, msg]
         | 
| 42 34 | 
             
              end
         | 
| 43 35 |  | 
| 44 36 | 
             
              def listen()
         | 
| 45 37 |  | 
| 46 38 | 
             
                command = "xinput test-xi2 --root #{@device}"
         | 
| 47 | 
            -
             | 
| 48 | 
            -
                sk = @sk
         | 
| 39 | 
            +
             | 
| 49 40 | 
             
                type = 0
         | 
| 50 41 |  | 
| 51 42 | 
             
                IO.popen(command).each_line do |x|
         | 
| @@ -64,28 +55,39 @@ class XInputWrapper | |
| 64 55 | 
             
                    puts 'keycode: ' + keycode.to_s if keycode > 0 and @verbose
         | 
| 65 56 | 
             
                    puts '>keycode: ' + keycode.to_s  if @debug
         | 
| 66 57 |  | 
| 67 | 
            -
                     | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
                     | 
| 76 | 
            -
                    when :lshift
         | 
| 77 | 
            -
                      puts 'left shift' if @verbose
         | 
| 78 | 
            -
                    when :control
         | 
| 79 | 
            -
                      puts 'control' if @verbose
         | 
| 80 | 
            -
                      sk.knock
         | 
| 81 | 
            -
                    when :super
         | 
| 82 | 
            -
                      puts 'super key pressed'  if @verbose
         | 
| 83 | 
            -
                      message 'super key pressed' 
         | 
| 84 | 
            -
                    end
         | 
| 85 | 
            -
                    
         | 
| 86 | 
            -
                    sk.reset if @lookup[keycode] != :control
         | 
| 58 | 
            +
                    on_key_press(keycode)
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    key = @lookup[keycode]
         | 
| 61 | 
            +
                    puts 'key: ' + key.inspect if @debug
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                    if key then
         | 
| 64 | 
            +
                      puts key.to_s + ' key presssed' if @verbose
         | 
| 65 | 
            +
                      method("on_#{key}_key".to_sym).call
         | 
| 66 | 
            +
                    end        
         | 
| 87 67 |  | 
| 88 68 | 
             
                  end
         | 
| 89 69 | 
             
                end
         | 
| 90 70 | 
             
              end
         | 
| 71 | 
            +
              
         | 
| 72 | 
            +
              protected
         | 
| 73 | 
            +
              
         | 
| 74 | 
            +
              def on_control_key()       end  
         | 
| 75 | 
            +
              def on_key_press(keycode)  end
         | 
| 76 | 
            +
              
         | 
| 77 | 
            +
              def on_shift_key()  end
         | 
| 78 | 
            +
              def on_super_key()  end
         | 
| 79 | 
            +
              
         | 
| 80 | 
            +
              def on_f1_key()   end
         | 
| 81 | 
            +
              def on_f2_key()   end
         | 
| 82 | 
            +
              def on_f3_key()   end
         | 
| 83 | 
            +
              def on_f4_key()   end
         | 
| 84 | 
            +
              def on_f5_key()   end
         | 
| 85 | 
            +
              def on_f6_key()   end    
         | 
| 86 | 
            +
              def on_f7_key()   end
         | 
| 87 | 
            +
              def on_f8_key()   end
         | 
| 88 | 
            +
              def on_f9_key()   end
         | 
| 89 | 
            +
              def on_f10_key()  end
         | 
| 90 | 
            +
              def on_f11_key()  end
         | 
| 91 | 
            +
              def on_f12_key()  end    
         | 
| 92 | 
            +
                
         | 
| 91 93 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: xinput_wrapper
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - James Robertson
         | 
| @@ -32,47 +32,7 @@ cert_chain: | |
| 32 32 | 
             
              5bdH23akkNF4CA==
         | 
| 33 33 | 
             
              -----END CERTIFICATE-----
         | 
| 34 34 | 
             
            date: 2018-08-05 00:00:00.000000000 Z
         | 
| 35 | 
            -
            dependencies:
         | 
| 36 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 37 | 
            -
              name: sps-pub
         | 
| 38 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 39 | 
            -
                requirements:
         | 
| 40 | 
            -
                - - "~>"
         | 
| 41 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 42 | 
            -
                    version: '0.5'
         | 
| 43 | 
            -
                - - ">="
         | 
| 44 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 45 | 
            -
                    version: 0.5.5
         | 
| 46 | 
            -
              type: :runtime
         | 
| 47 | 
            -
              prerelease: false
         | 
| 48 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 49 | 
            -
                requirements:
         | 
| 50 | 
            -
                - - "~>"
         | 
| 51 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 52 | 
            -
                    version: '0.5'
         | 
| 53 | 
            -
                - - ">="
         | 
| 54 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 55 | 
            -
                    version: 0.5.5
         | 
| 56 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 57 | 
            -
              name: secret_knock
         | 
| 58 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 59 | 
            -
                requirements:
         | 
| 60 | 
            -
                - - "~>"
         | 
| 61 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 62 | 
            -
                    version: '0.3'
         | 
| 63 | 
            -
                - - ">="
         | 
| 64 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 65 | 
            -
                    version: 0.3.0
         | 
| 66 | 
            -
              type: :runtime
         | 
| 67 | 
            -
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 69 | 
            -
                requirements:
         | 
| 70 | 
            -
                - - "~>"
         | 
| 71 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 72 | 
            -
                    version: '0.3'
         | 
| 73 | 
            -
                - - ">="
         | 
| 74 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: 0.3.0
         | 
| 35 | 
            +
            dependencies: []
         | 
| 76 36 | 
             
            description: 
         | 
| 77 37 | 
             
            email: james@jamesrobertson.eu
         | 
| 78 38 | 
             
            executables: []
         | 
| @@ -103,7 +63,5 @@ rubyforge_project: | |
| 103 63 | 
             
            rubygems_version: 2.6.13
         | 
| 104 64 | 
             
            signing_key: 
         | 
| 105 65 | 
             
            specification_version: 4
         | 
| 106 | 
            -
            summary: A wrapper for the Linux utility xinput. | 
| 107 | 
            -
              the super key is pressed as well as publishing a deciphered message when the control
         | 
| 108 | 
            -
              key is pressed more than once
         | 
| 66 | 
            +
            summary: A wrapper for the Linux utility xinput.
         | 
| 109 67 | 
             
            test_files: []
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |