зеркало из https://github.com/github/ruby.git
Ignore the input method key sequence from getwch() correctly
The function getwch() returns some key sequences which start from 0 or 0xE0 with a following key code. Alt+` that is on/off key for input methods gives 0 and 41 so Reline was always ignoring 0 and following keys but numeric keypad keys give 0 and following actual keys. This commit changes the behavior to be ignoring only the 0 and 41 sequence.
This commit is contained in:
Родитель
0162e7e647
Коммит
13b106a19c
|
@ -9,6 +9,7 @@ class Reline::Windows
|
|||
[224, 83] => :key_delete, # Del
|
||||
[224, 71] => :ed_move_to_beg, # Home
|
||||
[224, 79] => :ed_move_to_end, # End
|
||||
[ 0, 41] => :ed_unassigned, # input method on/off
|
||||
}.each_key(&:freeze).freeze
|
||||
|
||||
if defined? JRUBY_VERSION
|
||||
|
@ -118,8 +119,8 @@ class Reline::Windows
|
|||
else
|
||||
case input
|
||||
when 0x00
|
||||
getwch
|
||||
alt = false
|
||||
@@output_buf.push(input)
|
||||
input = getwch
|
||||
@@output_buf.push(*input)
|
||||
when 0xE0
|
||||
|
|
Загрузка…
Ссылка в новой задаче