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 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?

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?

Thanks!



+---
| 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