Module: Vedeu::EscapeSequences::Mouse
Overview
Provides mouse related escape sequences.
The X10 compatibility mode sends an escape sequence on button press encoding the location and the mouse button pressed. It is enabled by sending ‘e[?9h` and disabled with `e[?9l`.
On button press, xterm(1) sends ‘e[Mbxy` (6 characters). Here b is button-1, and x and y are the x and y coordinates of the mouse when the button was pressed. This is the same code the kernel also produces.
Normal tracking mode (not implemented in Linux 2.0.24) sends an escape sequence on both button press and release. Modifier information is also sent. It is enabled by sending ‘e[?1000h` and disabled with `e[?1000l`. On button press or release, xterm(1) sends `e[Mbxy`. The low two bits of b encode button information: 0=MB1 pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. The upper bits encode what modifiers were down when the button was pressed and are added together: 4=Shift, 8=Meta, 16=Control. Again x and y are the x and y coordinates of the mouse event. The upper left corner is (1,1).
-
From CONSOLE_CODES(4) (‘man console_codes`)
Instance Method Summary collapse
- #disable_mouse ⇒ String
- #enable_mouse ⇒ String
- #mouse_off ⇒ String
- #mouse_on ⇒ String
- #mouse_x10_off ⇒ String
- #mouse_x10_on ⇒ String
Instance Method Details
#disable_mouse ⇒ String
38 39 40 41 42 |
# File 'lib/vedeu/esc/mouse.rb', line 38 def disable_mouse return mouse_x10_off if Vedeu.config.mouse? '' end |
#enable_mouse ⇒ String
45 46 47 48 49 |
# File 'lib/vedeu/esc/mouse.rb', line 45 def enable_mouse return mouse_x10_on if Vedeu.config.mouse? '' end |
#mouse_off ⇒ String
67 68 69 |
# File 'lib/vedeu/esc/mouse.rb', line 67 def mouse_off "\e[?1000l" end |
#mouse_on ⇒ String
62 63 64 |
# File 'lib/vedeu/esc/mouse.rb', line 62 def mouse_on "\e[?1000h" end |
#mouse_x10_off ⇒ String
57 58 59 |
# File 'lib/vedeu/esc/mouse.rb', line 57 def mouse_x10_off "\e[?9l" end |
#mouse_x10_on ⇒ String
52 53 54 |
# File 'lib/vedeu/esc/mouse.rb', line 52 def mouse_x10_on "\e[?9h" end |