Scott Klement wrote:
> 
> I figured out why system request isn't working when the keyboard is
> locked by poking around a bit in the source.
> 
> This is a code snippet from display.c:
> 
> void tn5250_display_do_aidkey (Tn5250Display *This, int aidcode)
> {
>    TN5250_LOG (("tn5250_display_do_aidkey (0x%02X) called.\n", aidcode));
> 
>    /* FIXME: If this returns zero, we need to stop processing. */
>    if(This->session->read_opcode) {           <--- **** THIS LINE ****
>       ( *(This->session->handle_aidkey)) (This->session, aidcode);
>    } else {
>       /* No read active.  AID code is pending. */
>       This->pending_aid = aidcode;
>    }
> }
> 
> To test my theory, I changed that if statement to read:
>   if((This->session->read_opcode)||(aidcode==TN5250_SESSION_AID_SYSREQ)) {

I got that far, too.  But then I checked where pending_aid is set and
used, and
it didn't seem to be used often enough to be useful.  If someone presses
an aid
key while not in a read it gets queued, but it doesn't get used until
the next
time the emulator receives data from the host and we aren't in a read.

Hmm.  Will play abit.  I'm looking at the '5494 Functions Reference',
specifically
here: 

http://publib.boulder.ibm.com:80/cgi-bin/bookmgr/BOOKS/CO2E2001/16.2.1

The reference doesn't seem to indicate System Request should be useable,
but it
does go on to say the Attention and Help key from Error State should
work.
Right now we are allowing System Request and Reset through (supposedly),
and not
Attention, nor Help key from Error state (I'm not sure if we handle Help
key from
error state).

I'm curious why, if we are so far off the mark according to the spec,
have we
not gotten many complaints?

I also see how we're handling System Request differently, although I've
heard this
mentioned a few times before (we just let the 400 do all the work and
bring up the
menu immediately).

> 
> I tried it out, and this solved my problem....  but I don't know if this
> is the right way to fix it, or not... and I don't know if this would
> create any other problems?

Nope.

> 
> Perhaps if Mr. Madore or Mr. Felice knows of a good way to fix this
> problem, he/they could make the change, and put it in CVS?

I'll have something in CVS by the end of the day.  Just don't know what
yet.

> 
> Thanks!
> 

We really need to make a tn5250 release!!!  Carey, would you like to
update the
man pages?

-Jason M. Felice
([EMAIL PROTECTED])
+---
| This is the LINUX5250 Mailing List!
| To submit a new message, send your mail to [EMAIL PROTECTED]
| To subscribe to this list send email to [EMAIL PROTECTED]
| To unsubscribe from this list send email to [EMAIL PROTECTED]
| Questions should be directed to the list owner/operator: [EMAIL PROTECTED]
+---

Reply via email to