keycodes??

Mark Talluto userev at canelasoftware.com
Mon Nov 21 12:16:19 CST 2005


On Nov 18, 2005, at 1:27 PM, Phil Davis wrote:

> Sarah Reichelt wrote:
>> On 11/19/05, Charles Hartman <charles.hartman at conncoll.edu> wrote:
>>> Sometimes I need to use rawKeyDown handlers, which receive a keyCode
>>> parameter. Two questions: is there a table of these somewhere? and,
>>> are these cross-platform? (If I have to use two tables, and wrap
>>> everything in an "if platform" structure, I'm going to be very sad.)
>>>
>> Here is a link to a test stack I wrote to show you the key codes for
>> various keys: <http://www.troz.net/Rev/tutorials/KeyCoder.rev.gz>
>> I have always assumed they are cross-platform and don't remember
>> hearing of any problems.
>
>
> In my testing, I've seen platform differences in the keycodes of  
> some numeric keys (possibly uppercase?) and I think also the 10- 
> keypad keys (though I'm not certain about that one). I've never  
> compared non-numeric keycodes across platforms so I can't speak to  
> that.
>

I too have found that there are some difference between platforms.   
Here is a small snippet of code that I use to check for key entries:

on rawKeyDown which

     --CHECK FOR DECIMAL
     if which = 46 then pass rawkeyDown

     --CHECK FOR ARROW KEYS
     if which = 65361 or which = 65363  then pass rawkeyDown

     --CHECK FOR DELETE KEY PRESSES
     if which = 65288 then pass rawkeyDown

     --CHECK FOR FORWARD DELETE
     if which = 65535 then pass rawkeyDown

     --MAKE SURE INPUT IS A NUMBER (ABOVE LETTERS)
     if which >=48 and which <=57 then pass rawKeyDown

     --MAKE SURE INPUT IS A NUMBER (NUMERIC KEYPAD LINUX)
     if the platform is "linux" then
         if which >=65456 and which <=65465 then pass rawKeyDown
     end if

     --MAKE SURE INPUT IS A NUMBER (NUMERIC KEYPAD MAC & WIN)
     if the platform is "macos" or the platform is "win32" then
         if which >=65429 and which <=65439 then pass rawKeyDown
     end if
end rawKeyDown



Mark Talluto
-- 
CANELA Software
http://www.canelasoftware.com




More information about the use-livecode mailing list