Polling/probing the keyboard?

Richmond richmondmathewson at gmail.com
Mon Dec 23 15:22:41 EST 2013

On 23/12/13 22:04, Geoff Canyon wrote:
> On Fri, Dec 20, 2013 at 9:49 AM, Richmond <richmondmathewson at gmail.com>wrote:
>> send "mouseUp" to btn "BTTN"
>> but I cannot do this:
>> send "keyDown" to key 112
>> where 112 is the rawKeyDown value of that key on my keyboard.
> In both cases (unless there's something really unusual about what you're
> doing) it would be better to define a separate handler to do <whatever> and
> then call that handler from within the mouseUp or rawKeyDown, so that when
> you want that thing to happen *apart* from those instances, you can just
> call the handler.
> _______________________________________________

My problem is that I have a range of programs that allow end-users to 
type material in
dead or rather unusual writing systems, using a "normal" keyboard.

Now on my UK English keyboard I happen to be using at the moment where I,
having been using US English keyboards for the last 20 years, expect to 
see a '@'
there is a double-quote mark.

I want to be able to signal to end-users which key they should press on 
their keyboards
to send a mouseUp to one of my virtual keys. Now what has a 'w' on my 
keyboard may,
for the sake of argument have a 'у' on Professor Malenkov's keyboard and 
'в' on
Professor Ustinov's keyboard; so putting a 'w' into a "window" on my 
interface is not going to help
either of those imaginary professors at all.

So I need to get the keyDown char that a rawKeyDown of 119 will generate 
on whosoever's
computer my program is running on.

I can, however, do this sort of thing:

on rawKeyDown RKD
put RKD into fld "rkd"
end rawKeyDown

on keyUp KD
put KD into fld "kd"
put fld "rkd" & " = " & fld "kd" into fld "equiv"
end keyUp

which I just worked out while answering your message, and feel "fairly 
bl**dy stupid" that is took
me so long to work that one out!

Anyway, thousands of thanks for your posting as it kicked my lazy brain 
into doing something vaguely constructive at last.


More information about the use-livecode mailing list