|
I'm glad cursor positioning has come up again. I'm not a masochist, just curious. I asked about cursor positioning before for a Java 5250 API I was writing and got no response. So I took a look at the code (version 0.16.5) and noticed that on line 836 of session.c in the tn5250_session_write_to_display, is the following: if (end_y!=0xff && end_x!=0xff) tn5250_display_set_cursor(This->display, end_y, end_x); That, as far as I can see, will never be true, as end_y and end_x are never changed after they are assigned. Now (strangely) this seems to work so I guess we can chalk it up to a lucky accident, or leftover code. But I would still like to know, in English (not C or Java (or Delphi)), how have people interpreted the rules for cursor positioning. I ask because IBM's documentation for this is ambiguous (to be kind). For example, they say: a) "If the WTD command in valid, the cursor moves to one of three locations": the IC if the 2nd CC bit 1 is 1, the first non-bypass field, or row 1, col 1. But they don't say how this affects the home position, or how long to keep a pending IC around for, if it's not invoked after the WTD it was found in. Or when does an IC change the home position? When it's received or when it's invoked? Also, they later mention that b) a locked state and the 2nd CC bit 3 =1 is required to move the cursor. So is it a) a valid WTD that moves the cursor? or an "unlocking" that moves the cursor. Then we have (in tn5250) TN5250_SESSION_CTL_UNLOCK=0x08 used where (as I understand from IBM's reference) TN5250_SESSION_CTL_IC_ULOCK=0x40 should be used. Or maybe the OR-ed value should be used? There's a comment there (session.h line 74) )/* ??? - Not in my (older) spec */. Which older spec? I think the "???" sums this all up pretty well (at least for me). Can we please discuss this a little. I've got the 5394 Remote Control Unit User's Guide and Functions Reference (Release 1 and 2), the IBM 5250 Information Display System Functions Reference Manual, and whatever is on the web. Thanks, for tn5250. The app and the source. -Mark Frank Richter <frichter@esda.co To: linux5250@midrange.com m> cc: Sent by: Subject: [LINUX5250] Cursor positioning in latest CVS version linux5250-admin@m idrange.com 08/14/2002 07:36 AM Please respond to linux5250 Hi everybody, I just tested the newest version of tn5250 from CVS. Macros work very fine, thank you. If I did not break things locally, there is probably something wrong with the latest cursor positioning changes mentioned in the Changelog. The cursor is allways stuck in the upper left corner, even on the logon screen. I have to press TAB, to move it to the first input-enabled field. If I reverse the patch in function tn5250_wtd_context_convert_nosrc in wtd.c, which shifts IC after SOH, the cursor is positioned to the right place again, at least with my applications. Our AS400 is at V4R3, but that should make no difference here. -- Esda Feinstrumpffabrik GmbH Frank Richter, Leiter EDV Hauptstr. 76, D-09392 Auerbach E-Mail: frichter@esda.com _______________________________________________ This is the Linux 5250 Development Project (LINUX5250) mailing list To post a message email: LINUX5250@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/linux5250 or email: LINUX5250-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/linux5250.
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.