[MUD-Dev] [TECH] Windows Telnet capabilities
Acius
helpsfamily at attbi.com
Sat Nov 2 10:41:25 CET 2002
Matt Owen wrote:
> On 30 October 2002, Arnau Rosselló Castelló wrote:
>> I'm thinking on making a simple LPC(with DGD) windowing system
>> over telnet. I know i can do it with an xterm, but the important
>> telnet client is the default on windows, and i think they are
>> very limited in capabilities.
>> Can somebody point me where i can find the capabilities of the
>> telnet client that comes with win95/98 and the one that comes
>> with win2k/xp ? I'd like to know also all the nonstandard
>> "features"(or misfeatures) they have.
> As far as I can tell, Windows 2000 and Windows XP telnet clients
> are almost feature-complete, and apart from bundling in Lan-Man
> authentication, they seem to be compiles of the standard gnu-type
> Telnet (I'm sure they are not, but they DO look and act similar)
> However, Win9x and WinNT telnet clients are nigh-on useless, and
> I wouldn't even consider trying to support them.
No. The Win2k and WinXP telnet clients are definitely an
improvement, but they are worse than GNU telnet. I've had to write
code for both, and this is off the top of my head (so take it with a
grain of salt, k?)
Win2k/XP telnet:
- Can do color codes
- Can do cursor position codes
- Will send arrow keys, pgup, pgdn, etc. but NOT function keys
(F1-F10), and does not differentiate between arrow, shift+arrow,
etc. Don't use any function keys in any UI you create; they'll
need a non-MS client to use them.
- Can NOT do the standard scroll codes -- talk doesn't work, nor
does the editor 'joe', although pico does. Don't use scroll codes
if you are supporting this client, you must redraw the full screen
to scroll.
- Supports single-key input just fine.
- Does not comply with local-echo requests (so by default, your
client will have no local echo). You really can't win on this
unless you do everything in charmode.
- Has problems resizing -- can resize vertically, but seems to
have problems resizing its client area horizontally.
- CEOL (clear to end of line) works, but only if the background
color is black! You can't use this to draw horizontal colored
stripes, like you can on Linux.
Win9x telnet:
- All the weaknesses above, except that the F# keys seem to sort
of work this time. However, the following keys do not send any
codes: Pgup, Pgdn, Home, End, Insert, Delete. The arrow keys send
codes, though they look a little odd.
- Can't resize at all IIRC, about all you can do is set the
scrollback buffer size. Assume your client's window may be no
larger than 79x24 and you'll generally be ok. I don't know if
window-size detection works on this client, possibly not -- check.
- I think it doesn't comply with telnet's query/response mechanism
properly, though I don't know details. The LDMud driver used to
crash in single-key input mode on this client, because of some
quirk with the client's responses. LDMud has since been fixed, and
I can use my charmode editor from this telnet now (although it's a
pain...)
- It recognizes color codes, but only supports bold/not bold (all
other color changes are ignored). I believe you can do
"reverse-video" on it, but have to specify that code specifically
(drawing black-on-gray does not show up reversed)
- Cursor movement and clearing the screen work.
I also remember some problems with cursor memory (save
position/restore position) not working properly, though I'm not sure
if that was on these clients or some other one...
In short: If you restrict yourself to
- Moving the cursor (with no memory)
- Clearing the screen
- Changing color
- A weirdness-tolerant charmode input method that does its own
echo
- Alphanumeric, Ctrl+alphanumeric, and arrow-key based input
... then you should be able to support these telnet clients. If you
drop support for the old Win9x, etc. client you can include pgup,
pgdn, and the other keys in that family, and you don't have to use
reverse video codes, which might open things up a little. Good luck
with all that.
-- Adam Helps (Acius at Walraven)
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list