Skip to content
This repository was archived by the owner on Mar 12, 2023. It is now read-only.

Commit c663375

Browse files
committed
Add supported hard-coded key bindings
1 parent 27f13b1 commit c663375

File tree

1 file changed

+188
-2
lines changed

1 file changed

+188
-2
lines changed

lib/ruby_jard/keys.rb

+188-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ module RubyJard
66
class Keys
77
# X-Term: https://invisible-island.net/xterm/xterm-function-keys.html
88
END_LINE = ["\n", "\r\n", "\r"].freeze
9-
CTRL_C = "\u0003"
10-
CTRL_D = "\u0004"
9+
ESC = "\e"
1110

1211
F1 = "\eOP"
1312
F2 = "\eOQ"
@@ -34,5 +33,192 @@ class Keys
3433
SHIFT_F10 = "\e[21;2~"
3534
SHIFT_F11 = "\e[23;2~"
3635
SHIFT_F12 = "\e[24;2~"
36+
37+
CTRL_A = "\C-a"
38+
CTRL_B = "\C-b"
39+
CTRL_C = "\C-c"
40+
CTRL_D = "\C-d"
41+
CTRL_E = "\C-e"
42+
CTRL_F = "\C-f"
43+
CTRL_G = "\C-g"
44+
CTRL_H = "\C-h"
45+
CTRL_I = "\C-i"
46+
CTRL_J = "\C-j"
47+
CTRL_K = "\C-k"
48+
CTRL_L = "\C-l"
49+
CTRL_M = "\C-m"
50+
CTRL_N = "\C-n"
51+
CTRL_O = "\C-o"
52+
CTRL_P = "\C-p"
53+
CTRL_Q = "\C-q"
54+
CTRL_R = "\C-r"
55+
CTRL_S = "\C-s"
56+
CTRL_T = "\C-t"
57+
CTRL_U = "\C-u"
58+
CTRL_V = "\C-v"
59+
CTRL_W = "\C-w"
60+
CTRL_X = "\C-x"
61+
CTRL_Y = "\C-y"
62+
CTRL_Z = "\C-z"
63+
64+
CTRL_F1 = "\e[1;5P"
65+
CTRL_F2 = "\e[1;5Q"
66+
CTRL_F3 = "\e[1;5R"
67+
CTRL_F4 = "\e[1;5S"
68+
CTRL_F5 = "\e[15;5~"
69+
CTRL_F6 = "\e[17;5~"
70+
CTRL_F7 = "\e[18;5~"
71+
CTRL_F8 = "\e[19;5~"
72+
CTRL_F9 = "\e[20;5~"
73+
CTRL_F10 = "\e[21;5~"
74+
CTRL_F11 = "\e[23;5~"
75+
CTRL_F12 = "\e[24;5~"
76+
77+
CTRL_SHIFT_A = "\C-A"
78+
CTRL_SHIFT_B = "\C-B"
79+
CTRL_SHIFT_C = "\C-C"
80+
CTRL_SHIFT_D = "\C-D"
81+
CTRL_SHIFT_E = "\C-E"
82+
CTRL_SHIFT_F = "\C-F"
83+
CTRL_SHIFT_G = "\C-G"
84+
CTRL_SHIFT_H = "\C-H"
85+
CTRL_SHIFT_I = "\C-I"
86+
CTRL_SHIFT_J = "\C-J"
87+
CTRL_SHIFT_K = "\C-K"
88+
CTRL_SHIFT_L = "\C-L"
89+
CTRL_SHIFT_M = "\C-M"
90+
CTRL_SHIFT_N = "\C-N"
91+
CTRL_SHIFT_O = "\C-O"
92+
CTRL_SHIFT_P = "\C-P"
93+
CTRL_SHIFT_Q = "\C-Q"
94+
CTRL_SHIFT_R = "\C-R"
95+
CTRL_SHIFT_S = "\C-S"
96+
CTRL_SHIFT_T = "\C-T"
97+
CTRL_SHIFT_U = "\C-U"
98+
CTRL_SHIFT_V = "\C-V"
99+
CTRL_SHIFT_W = "\C-W"
100+
CTRL_SHIFT_X = "\C-X"
101+
CTRL_SHIFT_Y = "\C-Y"
102+
CTRL_SHIFT_Z = "\C-Z"
103+
104+
CTRL_SHIFT_F1 = "\e[1;6P"
105+
CTRL_SHIFT_F2 = "\e[1;6Q"
106+
CTRL_SHIFT_F3 = "\e[1;6R"
107+
CTRL_SHIFT_F4 = "\e[1;6S"
108+
CTRL_SHIFT_F5 = "\e[15;6~"
109+
CTRL_SHIFT_F6 = "\e[17;6~"
110+
CTRL_SHIFT_F7 = "\e[18;6~"
111+
CTRL_SHIFT_F8 = "\e[19;6~"
112+
CTRL_SHIFT_F9 = "\e[20;6~"
113+
CTRL_SHIFT_F10 = "\e[21;6~"
114+
CTRL_SHIFT_F11 = "\e[23;6~"
115+
CTRL_SHIFT_F12 = "\e[24;6~"
116+
117+
META_A = "\ea"
118+
META_B = "\eb"
119+
META_C = "\ec"
120+
META_D = "\ed"
121+
META_E = "\ee"
122+
META_F = "\ef"
123+
META_G = "\eg"
124+
META_H = "\eh"
125+
META_I = "\ei"
126+
META_J = "\ej"
127+
META_K = "\ek"
128+
META_L = "\el"
129+
META_M = "\em"
130+
META_N = "\en"
131+
META_O = "\eo"
132+
META_P = "\ep"
133+
META_Q = "\eq"
134+
META_R = "\er"
135+
META_S = "\es"
136+
META_T = "\et"
137+
META_U = "\eu"
138+
META_V = "\ev"
139+
META_W = "\ew"
140+
META_X = "\ex"
141+
META_Y = "\ey"
142+
META_Z = "\ez"
143+
144+
META_F1 = "\e[1;3P"
145+
META_F2 = "\e[1;3Q"
146+
META_F3 = "\e[1;3R"
147+
META_F4 = "\e[1;3S"
148+
META_F5 = "\e[15;3~"
149+
META_F6 = "\e[17;3~"
150+
META_F7 = "\e[18;3~"
151+
META_F8 = "\e[19;3~"
152+
META_F9 = "\e[20;3~"
153+
META_F10 = "\e[21;3~"
154+
META_F11 = "\e[23;3~"
155+
META_F12 = "\e[24;3~"
156+
157+
META_SHIFT_A = "\eA"
158+
META_SHIFT_B = "\eB"
159+
META_SHIFT_C = "\eC"
160+
META_SHIFT_D = "\eD"
161+
META_SHIFT_E = "\eE"
162+
META_SHIFT_F = "\eF"
163+
META_SHIFT_G = "\eG"
164+
META_SHIFT_H = "\eH"
165+
META_SHIFT_I = "\eI"
166+
META_SHIFT_J = "\eJ"
167+
META_SHIFT_K = "\eK"
168+
META_SHIFT_L = "\eL"
169+
META_SHIFT_M = "\eM"
170+
META_SHIFT_N = "\eN"
171+
META_SHIFT_O = "\eO"
172+
META_SHIFT_P = "\eP"
173+
META_SHIFT_Q = "\eQ"
174+
META_SHIFT_R = "\eR"
175+
META_SHIFT_S = "\eS"
176+
META_SHIFT_T = "\eT"
177+
META_SHIFT_U = "\eU"
178+
META_SHIFT_V = "\eV"
179+
META_SHIFT_W = "\eW"
180+
META_SHIFT_X = "\eX"
181+
META_SHIFT_Y = "\eY"
182+
META_SHIFT_Z = "\eZ"
183+
184+
META_SHIFT_F1 = "\e[1;4P"
185+
META_SHIFT_F2 = "\e[1;4Q"
186+
META_SHIFT_F3 = "\e[1;4R"
187+
META_SHIFT_F4 = "\e[1;4S"
188+
META_SHIFT_F5 = "\e[15;4~"
189+
META_SHIFT_F6 = "\e[17;4~"
190+
META_SHIFT_F7 = "\e[18;4~"
191+
META_SHIFT_F8 = "\e[19;4~"
192+
META_SHIFT_F9 = "\e[20;4~"
193+
META_SHIFT_F10 = "\e[21;4~"
194+
META_SHIFT_F11 = "\e[23;4~"
195+
META_SHIFT_F12 = "\e[24;4~"
196+
197+
CTRL_META_A = "\e\C-a"
198+
CTRL_META_B = "\e\C-b"
199+
CTRL_META_C = "\e\C-c"
200+
CTRL_META_D = "\e\C-d"
201+
CTRL_META_E = "\e\C-e"
202+
CTRL_META_F = "\e\C-f"
203+
CTRL_META_G = "\e\C-g"
204+
CTRL_META_H = "\e\C-h"
205+
CTRL_META_I = "\e\C-i"
206+
CTRL_META_J = "\e\C-j"
207+
CTRL_META_K = "\e\C-k"
208+
CTRL_META_L = "\e\C-l"
209+
CTRL_META_M = "\e\C-m"
210+
CTRL_META_N = "\e\C-n"
211+
CTRL_META_O = "\e\C-o"
212+
CTRL_META_P = "\e\C-p"
213+
CTRL_META_Q = "\e\C-q"
214+
CTRL_META_R = "\e\C-r"
215+
CTRL_META_S = "\e\C-s"
216+
CTRL_META_T = "\e\C-t"
217+
CTRL_META_U = "\e\C-u"
218+
CTRL_META_V = "\e\C-v"
219+
CTRL_META_W = "\e\C-w"
220+
CTRL_META_X = "\e\C-x"
221+
CTRL_META_Y = "\e\C-y"
222+
CTRL_META_Z = "\e\C-z"
37223
end
38224
end

0 commit comments

Comments
 (0)