リビジョン | afd58696ea5f10bc2b1d114ab5e154f4a80b67f0 (tree) |
---|---|
日時 | 2014-04-19 18:39:21 |
作者 | Shyouzou Sugitani <shy@user...> |
コミッター | Shyouzou Sugitani |
add keymap.rb
@@ -15,9 +15,7 @@ | ||
15 | 15 | module DLL |
16 | 16 | |
17 | 17 | def self.get_path() # XXX |
18 | - #import ninix | |
19 | 18 | return File.expand_path(File.dirname(__FILE__), 'dll') |
20 | - #return os.path.join(os.fsencode(ninix.__path__[0]), b'dll') | |
21 | 19 | end |
22 | 20 | |
23 | 21 |
@@ -91,7 +89,6 @@ module DLL | ||
91 | 89 | end |
92 | 90 | end |
93 | 91 | |
94 | - #@abc.abstractmethod | |
95 | 92 | def execute(args) |
96 | 93 | return nil |
97 | 94 | end |
@@ -0,0 +1,270 @@ | ||
1 | +# -*- coding: utf-8 -*- | |
2 | +# | |
3 | +# Copyright (C) 2002 by Tamito KAJIYAMA | |
4 | +# Copyright (C) 2003-2014 by Shyouzou Sugitani <shy@users.sourceforge.jp> | |
5 | +# | |
6 | +# This program is free software; you can redistribute it and/or modify it | |
7 | +# under the terms of the GNU General Public License (version 2) as | |
8 | +# published by the Free Software Foundation. It is distributed in the | |
9 | +# hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | |
10 | +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR | |
11 | +# PURPOSE. See the GNU General Public License for more details. | |
12 | +# | |
13 | + | |
14 | +require "gtk3" | |
15 | + | |
16 | +module Keymap | |
17 | + | |
18 | + Keymap_old = { | |
19 | + Gdk::Keyval::GDK_KEY_BackSpace => 'back', | |
20 | + Gdk::Keyval::GDK_KEY_Tab => 'tab', | |
21 | + Gdk::Keyval::GDK_KEY_KP_Tab => 'tab', | |
22 | + Gdk::Keyval::GDK_KEY_Clear => 'clear', | |
23 | + Gdk::Keyval::GDK_KEY_Return => 'return', | |
24 | + Gdk::Keyval::GDK_KEY_KP_Enter => 'return', | |
25 | + Gdk::Keyval::GDK_KEY_Menu => '', | |
26 | + Gdk::Keyval::GDK_KEY_Pause => 'pause', | |
27 | + Gdk::Keyval::GDK_KEY_Kanji => '', | |
28 | + Gdk::Keyval::GDK_KEY_Escape => 'escape', | |
29 | + Gdk::Keyval::GDK_KEY_Henkan => '', | |
30 | + Gdk::Keyval::GDK_KEY_Muhenkan => '', | |
31 | + Gdk::Keyval::GDK_KEY_space => 'space', | |
32 | + Gdk::Keyval::GDK_KEY_Prior => 'prior', | |
33 | + Gdk::Keyval::GDK_KEY_Next => 'next', | |
34 | + Gdk::Keyval::GDK_KEY_End => 'end', | |
35 | + Gdk::Keyval::GDK_KEY_Home => 'home', | |
36 | + Gdk::Keyval::GDK_KEY_Left => 'left', | |
37 | + Gdk::Keyval::GDK_KEY_Up => 'up', | |
38 | + Gdk::Keyval::GDK_KEY_Right => 'right', | |
39 | + Gdk::Keyval::GDK_KEY_Down => 'down', | |
40 | + Gdk::Keyval::GDK_KEY_Select => '', | |
41 | + Gdk::Keyval::GDK_KEY_Print => '', | |
42 | + Gdk::Keyval::GDK_KEY_Execute => '', | |
43 | + Gdk::Keyval::GDK_KEY_Insert => '', | |
44 | + Gdk::Keyval::GDK_KEY_Delete => 'delete', | |
45 | + Gdk::Keyval::GDK_KEY_Help => '', | |
46 | + Gdk::Keyval::GDK_KEY_0 => '0', | |
47 | + Gdk::Keyval::GDK_KEY_1 => '1', | |
48 | + Gdk::Keyval::GDK_KEY_2 => '2', | |
49 | + Gdk::Keyval::GDK_KEY_3 => '3', | |
50 | + Gdk::Keyval::GDK_KEY_4 => '4', | |
51 | + Gdk::Keyval::GDK_KEY_5 => '5', | |
52 | + Gdk::Keyval::GDK_KEY_6 => '6', | |
53 | + Gdk::Keyval::GDK_KEY_7 => '7', | |
54 | + Gdk::Keyval::GDK_KEY_8 => '8', | |
55 | + Gdk::Keyval::GDK_KEY_9 => '9', | |
56 | + Gdk::Keyval::GDK_KEY_a => 'a', | |
57 | + Gdk::Keyval::GDK_KEY_b => 'b', | |
58 | + Gdk::Keyval::GDK_KEY_c => 'c', | |
59 | + Gdk::Keyval::GDK_KEY_d => 'd', | |
60 | + Gdk::Keyval::GDK_KEY_e => 'e', | |
61 | + Gdk::Keyval::GDK_KEY_f => 'f', | |
62 | + Gdk::Keyval::GDK_KEY_g => 'g', | |
63 | + Gdk::Keyval::GDK_KEY_h => 'h', | |
64 | + Gdk::Keyval::GDK_KEY_i => 'i', | |
65 | + Gdk::Keyval::GDK_KEY_j => 'j', | |
66 | + Gdk::Keyval::GDK_KEY_k => 'k', | |
67 | + Gdk::Keyval::GDK_KEY_l => 'l', | |
68 | + Gdk::Keyval::GDK_KEY_m => 'm', | |
69 | + Gdk::Keyval::GDK_KEY_n => 'n', | |
70 | + Gdk::Keyval::GDK_KEY_o => 'o', | |
71 | + Gdk::Keyval::GDK_KEY_p => 'p', | |
72 | + Gdk::Keyval::GDK_KEY_q => 'q', | |
73 | + Gdk::Keyval::GDK_KEY_r => 'r', | |
74 | + Gdk::Keyval::GDK_KEY_s => 's', | |
75 | + Gdk::Keyval::GDK_KEY_t => 't', | |
76 | + Gdk::Keyval::GDK_KEY_u => 'u', | |
77 | + Gdk::Keyval::GDK_KEY_v => 'v', | |
78 | + Gdk::Keyval::GDK_KEY_w => 'w', | |
79 | + Gdk::Keyval::GDK_KEY_x => 'x', | |
80 | + Gdk::Keyval::GDK_KEY_y => 'y', | |
81 | + Gdk::Keyval::GDK_KEY_z => 'z', | |
82 | + Gdk::Keyval::GDK_KEY_KP_0 => '0', | |
83 | + Gdk::Keyval::GDK_KEY_KP_1 => '1', | |
84 | + Gdk::Keyval::GDK_KEY_KP_2 => '2', | |
85 | + Gdk::Keyval::GDK_KEY_KP_3 => '3', | |
86 | + Gdk::Keyval::GDK_KEY_KP_4 => '4', | |
87 | + Gdk::Keyval::GDK_KEY_KP_5 => '5', | |
88 | + Gdk::Keyval::GDK_KEY_KP_6 => '6', | |
89 | + Gdk::Keyval::GDK_KEY_KP_7 => '7', | |
90 | + Gdk::Keyval::GDK_KEY_KP_8 => '8', | |
91 | + Gdk::Keyval::GDK_KEY_KP_9 => '9', | |
92 | + Gdk::Keyval::GDK_KEY_KP_Multiply => '*', | |
93 | + Gdk::Keyval::GDK_KEY_KP_Add => '+', | |
94 | + Gdk::Keyval::GDK_KEY_KP_Separator => '', | |
95 | + Gdk::Keyval::GDK_KEY_KP_Subtract => '-', | |
96 | + Gdk::Keyval::GDK_KEY_KP_Decimal => '', | |
97 | + Gdk::Keyval::GDK_KEY_KP_Divide => '/', | |
98 | + Gdk::Keyval::GDK_KEY_F1 => 'f1', | |
99 | + Gdk::Keyval::GDK_KEY_F2 => 'f2', | |
100 | + Gdk::Keyval::GDK_KEY_F3 => 'f3', | |
101 | + Gdk::Keyval::GDK_KEY_F4 => 'f4', | |
102 | + Gdk::Keyval::GDK_KEY_F5 => 'f5', | |
103 | + Gdk::Keyval::GDK_KEY_F6 => 'f6', | |
104 | + Gdk::Keyval::GDK_KEY_F7 => 'f7', | |
105 | + Gdk::Keyval::GDK_KEY_F8 => 'f8', | |
106 | + Gdk::Keyval::GDK_KEY_F9 => 'f9', | |
107 | + Gdk::Keyval::GDK_KEY_F10 => 'f10', | |
108 | + Gdk::Keyval::GDK_KEY_F11 => 'f11', | |
109 | + Gdk::Keyval::GDK_KEY_F12 => 'f12', | |
110 | + Gdk::Keyval::GDK_KEY_F13 => 'f13', | |
111 | + Gdk::Keyval::GDK_KEY_F14 => 'f14', | |
112 | + Gdk::Keyval::GDK_KEY_F15 => 'f15', | |
113 | + Gdk::Keyval::GDK_KEY_F16 => 'f16', | |
114 | + Gdk::Keyval::GDK_KEY_F17 => 'f17', | |
115 | + Gdk::Keyval::GDK_KEY_F18 => 'f18', | |
116 | + Gdk::Keyval::GDK_KEY_F19 => 'f19', | |
117 | + Gdk::Keyval::GDK_KEY_F20 => 'f20', | |
118 | + Gdk::Keyval::GDK_KEY_F21 => 'f21', | |
119 | + Gdk::Keyval::GDK_KEY_F22 => 'f22', | |
120 | + Gdk::Keyval::GDK_KEY_F23 => 'f23', | |
121 | + Gdk::Keyval::GDK_KEY_F24 => 'f24', | |
122 | + Gdk::Keyval::GDK_KEY_Num_Lock => '', | |
123 | + Gdk::Keyval::GDK_KEY_Scroll_Lock => '', | |
124 | + Gdk::Keyval::GDK_KEY_Shift_L => '', | |
125 | + Gdk::Keyval::GDK_KEY_Shift_R => '', | |
126 | + Gdk::Keyval::GDK_KEY_Control_L => '', | |
127 | + Gdk::Keyval::GDK_KEY_Control_R => '', | |
128 | + } | |
129 | + | |
130 | + Keymap_new = { | |
131 | + Gdk::Keyval::GDK_KEY_BackSpace => '8', | |
132 | + Gdk::Keyval::GDK_KEY_Tab => '9', | |
133 | + Gdk::Keyval::GDK_KEY_KP_Tab => '9', | |
134 | + Gdk::Keyval::GDK_KEY_Clear => '12', | |
135 | + Gdk::Keyval::GDK_KEY_Return => '13', | |
136 | + Gdk::Keyval::GDK_KEY_KP_Enter => '13', | |
137 | + Gdk::Keyval::GDK_KEY_Menu => '18', | |
138 | + Gdk::Keyval::GDK_KEY_Pause => '19', | |
139 | + Gdk::Keyval::GDK_KEY_Kanji => '25', | |
140 | + Gdk::Keyval::GDK_KEY_Escape => '27', | |
141 | + Gdk::Keyval::GDK_KEY_Henkan => '28', | |
142 | + Gdk::Keyval::GDK_KEY_Muhenkan => '29', | |
143 | + Gdk::Keyval::GDK_KEY_space => '32', | |
144 | + Gdk::Keyval::GDK_KEY_Prior => '33', | |
145 | + Gdk::Keyval::GDK_KEY_Next => '34', | |
146 | + Gdk::Keyval::GDK_KEY_End => '35', | |
147 | + Gdk::Keyval::GDK_KEY_Home => '36', | |
148 | + Gdk::Keyval::GDK_KEY_Left => '37', | |
149 | + Gdk::Keyval::GDK_KEY_Up => '38', | |
150 | + Gdk::Keyval::GDK_KEY_Right => '39', | |
151 | + Gdk::Keyval::GDK_KEY_Down => '40', | |
152 | + Gdk::Keyval::GDK_KEY_Select => '41', | |
153 | + Gdk::Keyval::GDK_KEY_Print => '42', | |
154 | + Gdk::Keyval::GDK_KEY_Execute => '43', | |
155 | + Gdk::Keyval::GDK_KEY_Insert => '45', | |
156 | + Gdk::Keyval::GDK_KEY_Delete => '46', | |
157 | + Gdk::Keyval::GDK_KEY_Help => '47', | |
158 | + Gdk::Keyval::GDK_KEY_0 => '48', | |
159 | + Gdk::Keyval::GDK_KEY_1 => '49', | |
160 | + Gdk::Keyval::GDK_KEY_2 => '50', | |
161 | + Gdk::Keyval::GDK_KEY_3 => '51', | |
162 | + Gdk::Keyval::GDK_KEY_4 => '52', | |
163 | + Gdk::Keyval::GDK_KEY_5 => '53', | |
164 | + Gdk::Keyval::GDK_KEY_6 => '54', | |
165 | + Gdk::Keyval::GDK_KEY_7 => '55', | |
166 | + Gdk::Keyval::GDK_KEY_8 => '56', | |
167 | + Gdk::Keyval::GDK_KEY_9 => '57', | |
168 | + Gdk::Keyval::GDK_KEY_a => '65', | |
169 | + Gdk::Keyval::GDK_KEY_b => '66', | |
170 | + Gdk::Keyval::GDK_KEY_c => '67', | |
171 | + Gdk::Keyval::GDK_KEY_d => '68', | |
172 | + Gdk::Keyval::GDK_KEY_e => '69', | |
173 | + Gdk::Keyval::GDK_KEY_f => '70', | |
174 | + Gdk::Keyval::GDK_KEY_g => '71', | |
175 | + Gdk::Keyval::GDK_KEY_h => '72', | |
176 | + Gdk::Keyval::GDK_KEY_i => '73', | |
177 | + Gdk::Keyval::GDK_KEY_j => '74', | |
178 | + Gdk::Keyval::GDK_KEY_k => '75', | |
179 | + Gdk::Keyval::GDK_KEY_l => '76', | |
180 | + Gdk::Keyval::GDK_KEY_m => '77', | |
181 | + Gdk::Keyval::GDK_KEY_n => '78', | |
182 | + Gdk::Keyval::GDK_KEY_o => '79', | |
183 | + Gdk::Keyval::GDK_KEY_p => '80', | |
184 | + Gdk::Keyval::GDK_KEY_q => '81', | |
185 | + Gdk::Keyval::GDK_KEY_r => '82', | |
186 | + Gdk::Keyval::GDK_KEY_s => '83', | |
187 | + Gdk::Keyval::GDK_KEY_t => '84', | |
188 | + Gdk::Keyval::GDK_KEY_u => '85', | |
189 | + Gdk::Keyval::GDK_KEY_v => '86', | |
190 | + Gdk::Keyval::GDK_KEY_w => '87', | |
191 | + Gdk::Keyval::GDK_KEY_x => '88', | |
192 | + Gdk::Keyval::GDK_KEY_y => '89', | |
193 | + Gdk::Keyval::GDK_KEY_z => '90', | |
194 | + Gdk::Keyval::GDK_KEY_KP_0 => '96', | |
195 | + Gdk::Keyval::GDK_KEY_KP_1 => '97', | |
196 | + Gdk::Keyval::GDK_KEY_KP_2 => '98', | |
197 | + Gdk::Keyval::GDK_KEY_KP_3 => '99', | |
198 | + Gdk::Keyval::GDK_KEY_KP_4 => '100', | |
199 | + Gdk::Keyval::GDK_KEY_KP_5 => '101', | |
200 | + Gdk::Keyval::GDK_KEY_KP_6 => '102', | |
201 | + Gdk::Keyval::GDK_KEY_KP_7 => '103', | |
202 | + Gdk::Keyval::GDK_KEY_KP_8 => '104', | |
203 | + Gdk::Keyval::GDK_KEY_KP_9 => '105', | |
204 | + Gdk::Keyval::GDK_KEY_KP_Multiply => '106', | |
205 | + Gdk::Keyval::GDK_KEY_KP_Add => '107', | |
206 | + Gdk::Keyval::GDK_KEY_KP_Separator => '108', | |
207 | + Gdk::Keyval::GDK_KEY_KP_Subtract => '109', | |
208 | + Gdk::Keyval::GDK_KEY_KP_Decimal => '110', | |
209 | + Gdk::Keyval::GDK_KEY_KP_Divide => '111', | |
210 | + Gdk::Keyval::GDK_KEY_F1 => '112', | |
211 | + Gdk::Keyval::GDK_KEY_F2 => '113', | |
212 | + Gdk::Keyval::GDK_KEY_F3 => '114', | |
213 | + Gdk::Keyval::GDK_KEY_F4 => '115', | |
214 | + Gdk::Keyval::GDK_KEY_F5 => '116', | |
215 | + Gdk::Keyval::GDK_KEY_F6 => '117', | |
216 | + Gdk::Keyval::GDK_KEY_F7 => '118', | |
217 | + Gdk::Keyval::GDK_KEY_F8 => '119', | |
218 | + Gdk::Keyval::GDK_KEY_F9 => '120', | |
219 | + Gdk::Keyval::GDK_KEY_F10 => '121', | |
220 | + Gdk::Keyval::GDK_KEY_F11 => '122', | |
221 | + Gdk::Keyval::GDK_KEY_F12 => '123', | |
222 | + Gdk::Keyval::GDK_KEY_F13 => '124', | |
223 | + Gdk::Keyval::GDK_KEY_F14 => '125', | |
224 | + Gdk::Keyval::GDK_KEY_F15 => '126', | |
225 | + Gdk::Keyval::GDK_KEY_F16 => '127', | |
226 | + Gdk::Keyval::GDK_KEY_F17 => '128', | |
227 | + Gdk::Keyval::GDK_KEY_F18 => '129', | |
228 | + Gdk::Keyval::GDK_KEY_F19 => '130', | |
229 | + Gdk::Keyval::GDK_KEY_F20 => '131', | |
230 | + Gdk::Keyval::GDK_KEY_F21 => '132', | |
231 | + Gdk::Keyval::GDK_KEY_F22 => '133', | |
232 | + Gdk::Keyval::GDK_KEY_F23 => '134', | |
233 | + Gdk::Keyval::GDK_KEY_F24 => '135', | |
234 | + Gdk::Keyval::GDK_KEY_Num_Lock => '144', | |
235 | + Gdk::Keyval::GDK_KEY_Scroll_Lock => '145', | |
236 | + Gdk::Keyval::GDK_KEY_Shift_L => '160', | |
237 | + Gdk::Keyval::GDK_KEY_Shift_R => '161', | |
238 | + Gdk::Keyval::GDK_KEY_Control_L => '162', | |
239 | + Gdk::Keyval::GDK_KEY_Control_R => '163', | |
240 | + } | |
241 | + | |
242 | + class Test | |
243 | + | |
244 | + def key_press(widget, event) | |
245 | + begin | |
246 | + print(Keymap_old[event.keyval], " ", | |
247 | + Keymap_new[event.keyval], " ", | |
248 | + event.keyval, "\n") | |
249 | + rescue # except KeyError: | |
250 | + print('unknown keyval: ', event.keyval, | |
251 | + "(", Gdk::Keyval.to_name(event.keyval), ")\n") | |
252 | + end | |
253 | + end | |
254 | + | |
255 | + def initialize | |
256 | + @win = Gtk::Window.new | |
257 | + @win.set_events(Gdk::Event::KEY_PRESS_MASK) | |
258 | + @win.signal_connect('destroy') do | |
259 | + Gtk.main_quit | |
260 | + end | |
261 | + @win.signal_connect('key_press_event') do |w, e| | |
262 | + key_press(w, e) | |
263 | + end | |
264 | + @win.show | |
265 | + Gtk.main | |
266 | + end | |
267 | + end | |
268 | +end | |
269 | + | |
270 | +Keymap::Test.new |