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