Verified Commit 24cf2714 authored by Bernd Paysan's avatar Bernd Paysan
Browse files

Fix ekey problem with shift-tab

parent 195f0109
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -70,6 +70,8 @@ keycode k-f9 ( -- u ) \ X:ekeys
keycode k-f10 ( -- u ) \ X:ekeys
keycode k-f11 ( -- u ) \ X:ekeys
keycode k-f12 ( -- u ) \ X:ekeys

keycode k-tab
drop
    
' k-f1  alias k1  ( -- u ) \ gforth-obsolete
@@ -201,6 +203,8 @@ k-next s" [6~" esc-sequence
k-insert s" [2~" esc-sequence
k-delete s" [3~" esc-sequence

k-tab    k-shift-mask or s" [Z"    esc-sequence

k-left   k-shift-mask or s" [1;2D" esc-sequence
k-right  k-shift-mask or s" [1;2C" esc-sequence
k-up     k-shift-mask or s" [1;2A" esc-sequence
+2 −2
Original line number Diff line number Diff line
@@ -73,12 +73,12 @@ $80 Value max-single-byte
Defer check-xy  ' noop IS check-xy

: u8key ( -- u )
    defers key dup max-single-byte u< ?EXIT  \ special case ASCII
    key dup max-single-byte u< ?EXIT  \ special case ASCII
    dup $FF = ?EXIT  \ special resize character
    dup $C2 u< IF  UTF-8-err throw  THEN  \ malformed character
    $7F and  $40 >r
    BEGIN  dup r@ and  WHILE  r@ xor
	    6 lshift r> 5 lshift >r >r defers key
	    6 lshift r> 5 lshift >r >r key
	    dup $C0 and $80 <> IF  UTF-8-err throw  THEN
	    $3F and r> or
    REPEAT  rdrop ;