Sfoglia il codice sorgente

* Send escape code to xterm to make alt+key send an escape prefix.

git-svn-id: trunk@2777 -
daniel 19 anni fa
parent
commit
d772104ce7
1 ha cambiato i file con 9 aggiunte e 0 eliminazioni
  1. 9 0
      rtl/unix/keyboard.pp

+ 9 - 0
rtl/unix/keyboard.pp

@@ -1247,6 +1247,10 @@ begin
       { default for Ctrl Prefix is ^W }
       if CtrlPrefix=0 then
         CtrlPrefix:=23;
+      if copy(fpgetenv('TERM'),1,4)='xterm' then
+          {The alt key should generate an escape prefix. Save the old setting
+           make make it send that escape prefix.}
+          write(#27'[?1036s'#27'[?1036h');
 {$ifdef linux}
     end;
 {$endif}
@@ -1260,6 +1264,11 @@ begin
 {$ifdef linux}
   unpatchkeyboard;
 {$endif linux}
+
+  if copy(fpgetenv('TERM'),1,4)='xterm' then
+     {Restore the old alt key behaviour.}
+     write(#27'[?1036r');
+
   SetRawMode(false);
 
   FreeTree;