There is a system variable for the "current keyboard queue". I assume that as there is only one, that it refers to the currently executing job? So If SuperBasic is executing, it will refer to the QDOS channel ID for Channel #0 in SuperBasic.

Ok, given that the above is true, I assume that when the scheduler reschedules a task, then the above system variable will be loaded with the keyboard queue for the (now) current job?

If so, then how on earth does QDOS/SMS manage to find the keyboard queue for the job that the scheduler has just switched to? I've looked in the QDOS Manual and I can find no way from a Job Id to a channel ID for the keyboard input or to the keyboard queue for that job. Does anyone know how QDOS/SMS does it?

I have a reason for asking. At some point soon(ish) in QL Today, I want to do an article on the Pointer Environment and I have a utility in mind where I can "pointerise" a non-pointer application by wrapping it in a PE application and attempting to grab the keyboard/screen channels.

It might not be possible, but I'd love to be able to, say, wrap George's GWASL in a pointer environment application and have it (the PE) allow me to select a filename (using QMENU perhaps) and pass that to GWASL for assembly, then grab the result of the assembly, and on no errors, run the SYM_BIN utility on the generated symbol file.

A bit like "make", but interactive.

GWASL opens a con_ channel and accepts keyboard input from that. I'd like to intercept that channel, and feed it input from the PE wrapper.

I remember (or do I?) a long time back, there was a similar sort of utility that enabled Quill to have certain commands fed to it from a file, I think it was run from SuperBasic. I'm sure I looked at the code and it did stuff with the keyboard queue, and at a certain point, started feeding F3 command sequences to the queue. I'd like to do something similar.

Any ideas? Am I barking mad again? ;-)

I suppose the ultimate outcome would be something like an IDE where you could choose an editor, assembler, linker etc as desired and have the PE wrapper pass commands to the appropriate utility, all of which would hopefully display their output in one or more of the wrapper's application windows, perhaps?

Too ambitious?


Cheers,
Norm.

PS. My Thunderbird spell chequer wants to change GWASL to HOGWASH! I was most offended. I put it right and added GWASL to my dictionary. Hogwash indeed!

--
Norman Dunbar
Dunbar IT Consultants Ltd

Registered address:
Thorpe House
61 Richardshaw Lane
Pudsey
West Yorkshire
United Kingdom
LS28 7EL

Company Number: 05132767
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to