Module: Vedeu::EscapeSequences::Mouse

Extended by:
Mouse
Included in:
Esc, Mouse
Defined in:
lib/vedeu/esc/mouse.rb

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

Instance Method Details

#disable_mouseString



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_mouseString



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_offString



67
68
69
# File 'lib/vedeu/esc/mouse.rb', line 67

def mouse_off
  "\e[?1000l"
end

#mouse_onString



62
63
64
# File 'lib/vedeu/esc/mouse.rb', line 62

def mouse_on
  "\e[?1000h"
end

#mouse_x10_offString



57
58
59
# File 'lib/vedeu/esc/mouse.rb', line 57

def mouse_x10_off
  "\e[?9l"
end

#mouse_x10_onString



52
53
54
# File 'lib/vedeu/esc/mouse.rb', line 52

def mouse_x10_on
  "\e[?9h"
end