201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
# File 'lib/textbringer/input_methods/t_code_input_method.rb', line 201
def process_mazegaki_conversion(event, key_index)
case event
when " "
mazegaki_next_page
return true
when "<"
mazegaki_relimit_left
return true
when ">"
mazegaki_relimit_right
return true
end
begin
if @mazegaki_candidates.size == 1
if event == "\C-m"
mazegaki_finish(@mazegaki_candidates[0])
return true
elsif key_index
mazegaki_finish(@mazegaki_candidates[0])
return false
end
elsif key_index
mazegaki_limit = MAZEGAKI_STROKE_PRIORITY_LIST.size
i = MAZEGAKI_STROKE_PRIORITY_LIST.index(key_index)
if i
offset = @mazegaki_candidates_page * mazegaki_limit + i
c = @mazegaki_candidates[offset]
if c
mazegaki_finish(c)
return true
end
end
end
mazegaki_reset
true
ensure
@mazegaki_start_pos = nil
@mazegaki_candidates = nil
Window.redisplay
end
end
|