mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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:
parent
0162e7e647
commit
13b106a19c
1 changed files with 2 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue