|
On Fri, 29 Mar 2002, Brian Hill wrote: > I have a few questions about tn5250: > > (I'm running Red Hat 7.2 if it makes any difference) > > 1. When I start a session (by typing "tn5250 myAS400") it only occupies a > small portion of the screen. My monitor is set to 1024 x 768 and the > session seems to be defaulting to 640 x 480. How do I make it use the > entire screen? I assume you're running it in X11? In that case, you don't want to run it as "tn5250", but rather as "xt5250". If you're running it in "console mode" (plain text VGA) then it should already take up the entire screen! To make it larger in xt5250, tell the emulator to use a larger font by setting font_80 and font_132 keywords to the font you want to use. This was just discussed on this mailing list this week -- check the archives http://archive.midrange.com > 2. I would really like to re-map some of the keys, for instance I like my > "Enter" key to be Field Exit and I like my "Backspace" key to be the same as > Cursor Left. I've tried modifying the us5250.map file but the changes don't > have any effect. How do I change the keyboard mapping to suit my fickle > tastes? If you run the emulator as "xt5250" then you can change the keyboard map by editing /usr/local/share/tn5250/XTerm If you run it from console mode under RedHat you would change the us5250.map, and then run loadkeys to activate it. But that has no affect on your terminal in X. > > The second question leads me into another one. I would really like to make > a simple graphical program that would allow users to re-map the keyboard, > much like the way Client Access does it. It looks like all I would have to > do is write a program (probably in Java since tn5250 is cross-platform) that > would generate a file like us5250.map. The problem with that is that the code would have to be completely different for every environment you write it for. us5250.map is console mode on Linux systems only. the 5250keys script & the us.5250.kbd file serve the same purpose on FreeBSD. For xt5250, you'd change the /usr/local/etc/XTerm file. In the GTK terminal and the Windows terminal the keyboard maps are hardcoded and would have to be done yet another way. And I don't even know about the other unixes! Unless you rewrote the emulator itself in Java, it would not make the project any more cross-platform. A few considerations: 1) I don't know about RedHat, but none of the other operating systems that I use tn5250 on ship with a JVM. (Well, unless you count OS/400) And, since we distribute our project in source code, you'd need not only a JVM but a full JDK to compile it. 2) A graphical screen in Java would not run in Linux or FreeBSD unless you also installed X. However, the tn5250 program works without X, so there'd be people who can use tn5250 who would not be able to use the keyboard mapper. 3) Since the rest of the project is written in C, writing the mapper in Java would not make it any more cross-platform. Anyone who can use the emulator can already compile/run C programs. > Assuming that tn5250 can be made to read a file like us5250.map, how can > I find out what values are valid to put in there? Where can I find out > exactly how this file is structured? tn5250 does not read the us5250.map. It doesn't even know that it exists. All of the keyboard mapping is currently done by the operating system, or by hardcoded values. A keyboard mapping program would be great! In fact, it's been on my to-do list for some time. :) But it's a complicated issue. Please make sure you understand what needs to be done before jumping into it. Thanks!
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.