rumouse 0.0.5 → 0.0.7
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 +5 -5
- data/lib/{darwin.rb → rumouse/darwin.rb} +0 -0
- data/lib/{win32.rb → rumouse/win32.rb} +0 -0
- data/lib/rumouse/x11.rb +89 -0
- data/lib/rumouse.rb +3 -3
- metadata +8 -8
- data/lib/x11.rb +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: f0b0f11cb263163cbfd021ab7daad5f4161cdd6b6f8daba38fbcb4054117bcbf
         | 
| 4 | 
            +
              data.tar.gz: f4fc5bc42d541ea1e3666f6f6d55d529ed3f4d215f2b49971e8acb174c559f83
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 80df9e582d82a03048de90eb3705aba4afe331b5b0b0be4538065f4baf60ac3eb9d4590b8221af8b8246b7517c3e0e7285647c3011444f7b48ee390aaf7d51f5
         | 
| 7 | 
            +
              data.tar.gz: c87ee60c6f615e94ccb47870ecd949d7b15f337be1fdbced7b210c6d6097149b9bfc176ebc8d116c170febffe500ba1d2c89c5bce4a81866218e5f15300f417b
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
    
        data/lib/rumouse/x11.rb
    ADDED
    
    | @@ -0,0 +1,89 @@ | |
| 1 | 
            +
            require 'ffi'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module X11
         | 
| 4 | 
            +
              extend FFI::Library
         | 
| 5 | 
            +
              ffi_lib 'X11'
         | 
| 6 | 
            +
              attach_function :XOpenDisplay, [ :char ], :pointer
         | 
| 7 | 
            +
              attach_function :XWarpPointer, [ :pointer, :ulong, :ulong, :int, :int, :uint, :uint, :int, :int ], :int
         | 
| 8 | 
            +
              attach_function :XFlush, [:pointer], :int
         | 
| 9 | 
            +
              attach_function :XCloseDisplay, [:pointer], :int
         | 
| 10 | 
            +
              attach_function :XDefaultRootWindow, [ :pointer ], :ulong
         | 
| 11 | 
            +
              attach_function :XQueryPointer, [:pointer, :ulong, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer], :bool
         | 
| 12 | 
            +
              attach_function :XWidthOfScreen, [:pointer], :int
         | 
| 13 | 
            +
              attach_function :XHeightOfScreen, [:pointer], :int
         | 
| 14 | 
            +
              attach_function :XDefaultScreenOfDisplay, [:pointer], :pointer
         | 
| 15 | 
            +
            end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            module Xtst
         | 
| 18 | 
            +
              extend FFI::Library
         | 
| 19 | 
            +
              ffi_lib 'Xtst'
         | 
| 20 | 
            +
              attach_function :XTestFakeButtonEvent, [:pointer, :uint, :bool, :int], :int
         | 
| 21 | 
            +
            end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
             | 
| 24 | 
            +
            class RuMouse
         | 
| 25 | 
            +
              def press x, y, button = 1
         | 
| 26 | 
            +
                display = X11.XOpenDisplay(0)
         | 
| 27 | 
            +
                root = X11.XDefaultRootWindow(display)
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                move x,y
         | 
| 30 | 
            +
                Xtst::XTestFakeButtonEvent(display, button, true, 0)
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                X11.XFlush(display)
         | 
| 33 | 
            +
                X11.XCloseDisplay(display)
         | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
              def release x, y, button = 1
         | 
| 37 | 
            +
                display = X11.XOpenDisplay(0)
         | 
| 38 | 
            +
                root = X11.XDefaultRootWindow(display)
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                move x,y
         | 
| 41 | 
            +
                Xtst::XTestFakeButtonEvent(display, button, false, 0)
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                X11.XFlush(display)
         | 
| 44 | 
            +
                X11.XCloseDisplay(display)
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
              
         | 
| 47 | 
            +
              def click x, y, button = 1, n = 1
         | 
| 48 | 
            +
                n.times do 
         | 
| 49 | 
            +
                  press x, y, button
         | 
| 50 | 
            +
                  release x, y, button
         | 
| 51 | 
            +
                end
         | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
              def move x, y
         | 
| 55 | 
            +
                display = X11.XOpenDisplay(0)
         | 
| 56 | 
            +
                root = X11.XDefaultRootWindow(display)
         | 
| 57 | 
            +
                X11.XWarpPointer(display, 0, root, 0, 0, 0, 0, x, y)
         | 
| 58 | 
            +
                X11.XFlush(display)
         | 
| 59 | 
            +
                X11.XCloseDisplay(display)
         | 
| 60 | 
            +
              end
         | 
| 61 | 
            +
             | 
| 62 | 
            +
              def position
         | 
| 63 | 
            +
                display = X11.XOpenDisplay(0)
         | 
| 64 | 
            +
                root = X11.XDefaultRootWindow(display)
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                win_root_ptr = FFI::MemoryPointer.new :pointer
         | 
| 67 | 
            +
                win_child_ptr = FFI::MemoryPointer.new :pointer
         | 
| 68 | 
            +
                r_x = FFI::MemoryPointer.new :pointer
         | 
| 69 | 
            +
                r_y = FFI::MemoryPointer.new :pointer
         | 
| 70 | 
            +
                win_x = FFI::MemoryPointer.new :pointer
         | 
| 71 | 
            +
                win_y = FFI::MemoryPointer.new :pointer
         | 
| 72 | 
            +
                mark_ptr = FFI::MemoryPointer.new :pointer
         | 
| 73 | 
            +
             | 
| 74 | 
            +
                X11.XQueryPointer(display, root, win_root_ptr, win_child_ptr, r_x, r_y, win_x, win_y, mark_ptr)
         | 
| 75 | 
            +
                X11.XCloseDisplay(display)
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                { x: win_x.read_int32, y: win_y.read_int32 }
         | 
| 78 | 
            +
              end
         | 
| 79 | 
            +
             | 
| 80 | 
            +
              def screen_size
         | 
| 81 | 
            +
                display = X11.XOpenDisplay(0)
         | 
| 82 | 
            +
                screen = X11.XDefaultScreenOfDisplay(display)
         | 
| 83 | 
            +
                x = X11.XWidthOfScreen(screen)
         | 
| 84 | 
            +
                y = X11.XHeightOfScreen(screen)
         | 
| 85 | 
            +
                X11.XCloseDisplay(display)
         | 
| 86 | 
            +
                
         | 
| 87 | 
            +
                {x: x, y: y}
         | 
| 88 | 
            +
              end
         | 
| 89 | 
            +
            end
         | 
    
        data/lib/rumouse.rb
    CHANGED
    
    | @@ -33,9 +33,9 @@ os = RbConfig::CONFIG['host_os'] | |
| 33 33 |  | 
| 34 34 | 
             
            case os
         | 
| 35 35 | 
             
            when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
         | 
| 36 | 
            -
              require 'win32.rb'
         | 
| 36 | 
            +
              require 'rumouse/win32.rb'
         | 
| 37 37 | 
             
            when /darwin|mac os/
         | 
| 38 | 
            -
              require 'darwin.rb'
         | 
| 38 | 
            +
              require 'rumouse/darwin.rb'
         | 
| 39 39 | 
             
            when /linux|bsd/
         | 
| 40 | 
            -
              require 'x11.rb'
         | 
| 40 | 
            +
              require 'rumouse/x11.rb'
         | 
| 41 41 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,10 +1,11 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rumouse
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Maxim Kostuchenko
         | 
| 8 | 
            +
            - Eduard Antsupov
         | 
| 8 9 | 
             
            autorequire: 
         | 
| 9 10 | 
             
            bindir: bin
         | 
| 10 11 | 
             
            cert_chain: []
         | 
| @@ -14,14 +15,14 @@ dependencies: | |
| 14 15 | 
             
              name: ffi
         | 
| 15 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 17 | 
             
                requirements:
         | 
| 17 | 
            -
                - - " | 
| 18 | 
            +
                - - ">="
         | 
| 18 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 20 | 
             
                    version: 1.9.3
         | 
| 20 21 | 
             
              type: :runtime
         | 
| 21 22 | 
             
              prerelease: false
         | 
| 22 23 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 24 | 
             
                requirements:
         | 
| 24 | 
            -
                - - " | 
| 25 | 
            +
                - - ">="
         | 
| 25 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 27 | 
             
                    version: 1.9.3
         | 
| 27 28 | 
             
            description: Cross-platform solution for simulating mouse events
         | 
| @@ -31,9 +32,9 @@ extensions: [] | |
| 31 32 | 
             
            extra_rdoc_files: []
         | 
| 32 33 | 
             
            files:
         | 
| 33 34 | 
             
            - lib/rumouse.rb
         | 
| 34 | 
            -
            - lib/darwin.rb
         | 
| 35 | 
            -
            - lib/win32.rb
         | 
| 36 | 
            -
            - lib/x11.rb
         | 
| 35 | 
            +
            - lib/rumouse/darwin.rb
         | 
| 36 | 
            +
            - lib/rumouse/win32.rb
         | 
| 37 | 
            +
            - lib/rumouse/x11.rb
         | 
| 37 38 | 
             
            homepage: https://github.com/kosmaks/rumouse
         | 
| 38 39 | 
             
            licenses:
         | 
| 39 40 | 
             
            - MIT
         | 
| @@ -53,8 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 53 54 | 
             
                - !ruby/object:Gem::Version
         | 
| 54 55 | 
             
                  version: '0'
         | 
| 55 56 | 
             
            requirements: []
         | 
| 56 | 
            -
             | 
| 57 | 
            -
            rubygems_version: 2.0.3
         | 
| 57 | 
            +
            rubygems_version: 3.0.3.1
         | 
| 58 58 | 
             
            signing_key: 
         | 
| 59 59 | 
             
            specification_version: 4
         | 
| 60 60 | 
             
            summary: Port of pythons' PyMouse.
         | 
    
        data/lib/x11.rb
    DELETED
    
    | 
            File without changes
         |