Class: XlibObj::InputDevice
- Inherits:
-
Object
- Object
- XlibObj::InputDevice
- Defined in:
- lib/input_device.rb
Instance Attribute Summary collapse
-
#display ⇒ Object
readonly
Returns the value of attribute display.
Instance Method Summary collapse
- #disabled? ⇒ Boolean
- #enabled? ⇒ Boolean
- #floating? ⇒ Boolean
- #focus(window = nil) ⇒ Object
- #grab(report_to:, cursor: Xlib::None, mode: Xlib::GrabModeAsync, pair_mode: Xlib::GrabModeAsync, owner_events: true, event_mask: 0) ⇒ Object
-
#initialize(display, device_id) ⇒ InputDevice
constructor
A new instance of InputDevice.
- #inspect ⇒ Object
- #keyboard? ⇒ Boolean
- #master ⇒ Object
- #master? ⇒ Boolean
- #name ⇒ Object
- #pointer? ⇒ Boolean
- #slave? ⇒ Boolean
- #slaves ⇒ Object
- #to_native ⇒ Object (also: #id)
- #ungrab ⇒ Object
Constructor Details
#initialize(display, device_id) ⇒ InputDevice
Returns a new instance of InputDevice.
11 12 13 14 |
# File 'lib/input_device.rb', line 11 def initialize(display, device_id) @display = display @device_id = device_id end |
Instance Attribute Details
#display ⇒ Object (readonly)
Returns the value of attribute display.
16 17 18 |
# File 'lib/input_device.rb', line 16 def display @display end |
Instance Method Details
#disabled? ⇒ Boolean
59 60 61 |
# File 'lib/input_device.rb', line 59 def disabled? not enabled? end |
#enabled? ⇒ Boolean
55 56 57 |
# File 'lib/input_device.rb', line 55 def enabled? device_info(:enabled) end |
#floating? ⇒ Boolean
35 36 37 |
# File 'lib/input_device.rb', line 35 def floating? device_info(:use) == Xlib::XIFloatingSlave end |
#focus(window = nil) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/input_device.rb', line 63 def focus(window = nil) if window Xlib::XI.set_focus(@display, self, window, Xlib::CurrentTime) else Xlib::XI.get_focus(@display, self) if keyboard? end end |
#grab(report_to:, cursor: Xlib::None, mode: Xlib::GrabModeAsync, pair_mode: Xlib::GrabModeAsync, owner_events: true, event_mask: 0) ⇒ Object
71 72 73 74 |
# File 'lib/input_device.rb', line 71 def grab(report_to:, cursor: Xlib::None, mode: Xlib::GrabModeAsync, pair_mode: Xlib::GrabModeAsync, owner_events: true, event_mask: 0) Xlib::XI.grab_device(@display, self, report_to, Xlib::CurrentTime, cursor, mode, pair_mode, owner_events, event_mask) end |
#inspect ⇒ Object
80 81 82 |
# File 'lib/input_device.rb', line 80 def inspect "#<#{self.class.name}:0x#{'%014x' % __id__} @id=#{id} @name=#{name.inspect}>" end |
#keyboard? ⇒ Boolean
43 44 45 |
# File 'lib/input_device.rb', line 43 def keyboard? [Xlib::XIMasterKeyboard, Xlib::XISlaveKeyboard].include? device_info(:use) end |
#master ⇒ Object
47 48 49 |
# File 'lib/input_device.rb', line 47 def master self.class.new(@display, device_info(:attachment)) if slave? end |
#master? ⇒ Boolean
27 28 29 |
# File 'lib/input_device.rb', line 27 def master? [Xlib::XIMasterPointer, Xlib::XIMasterKeyboard].include? device_info(:use) end |
#name ⇒ Object
23 24 25 |
# File 'lib/input_device.rb', line 23 def name device_info(:name, &:read_string) end |
#pointer? ⇒ Boolean
39 40 41 |
# File 'lib/input_device.rb', line 39 def pointer? [Xlib::XIMasterPointer, Xlib::XISlavePointer].include? device_info(:use) end |
#slave? ⇒ Boolean
31 32 33 |
# File 'lib/input_device.rb', line 31 def slave? [Xlib::XISlavePointer, Xlib::XISlaveKeyboard].include? device_info(:use) end |
#slaves ⇒ Object
51 52 53 |
# File 'lib/input_device.rb', line 51 def slaves @display.input_devices.select{ |device| device.master == self } end |
#to_native ⇒ Object Also known as: id
18 19 20 |
# File 'lib/input_device.rb', line 18 def to_native @device_id end |
#ungrab ⇒ Object
76 77 78 |
# File 'lib/input_device.rb', line 76 def ungrab Xlib::XI.ungrab_device(@display, self, Xlib::CurrentTime) end |