diff -ru mobileterminal-364/Sources/MobileTerminal.m mobileterminal-364+iPhone/Sources/MobileTerminal.m --- mobileterminal-364/Sources/MobileTerminal.m 2009-04-26 07:55:26.000000000 +0000 +++ mobileterminal-364+iPhone/Sources/MobileTerminal.m 2010-03-26 05:01:43.000000000 +0000 @@ -212,12 +212,27 @@ - (void)handleKeyPress:(unichar)c { if (!controlKeyMode) { - if (c == 0x2022) { - controlKeyMode = YES; - return; - } else if (c == 0x0a) // LF from keyboard RETURN - { - c = 0x0d; // convert to CR + switch (c) { + case 0x2022: + controlKeyMode = YES; + return; + + case '\n': + c = '\r'; + break; + + case 0xf700: + [self.activeTerminal.process write:"\x1b[A" length:3]; + return; + case 0xf701: + [self.activeTerminal.process write:"\x1b[B" length:3]; + return; + case 0xf702: + [self.activeTerminal.process write:"\x1b[D" length:3]; + return; + case 0xf703: + [self.activeTerminal.process write:"\x1b[C" length:3]; + return; } } else { // was in ctrl key mode, got another key