In Pharo, there is https://pharo.fogbugz.com/default.asp?2042 which you need an account to access. Here's the reported case...
This is the output from Mac VM when pressing "asdf":
keyDown: 0 keyStroke: 97 keyUp: 0 keyDown: 1 keyStroke: 115 keyUp: 1 keyDown: 2 keyStroke: 100 keyUp: 2 keyDown: 3 keyStroke: 102 keyUp: 3
On Linux VM all three values are the same. The wrong values are directly on the output of virtual machine.
I've gotten bitten by this several times. The most recent was... er... now, hence the report!
----- Cheers, Sean -- View this message in context: http://forum.world.st/BUG-Mac-KeyUp-Down-Events-Missing-Char-tp4808968.html Sent from the Squeak VM mailing list archive at Nabble.com.
https://isqueak.org/ioGetNextEvent
On Mon, Mar 2, 2015 at 12:25 PM, Sean P. DeNigris sean@clipperadams.com wrote:
In Pharo, there is https://pharo.fogbugz.com/default.asp?2042 which you need an account to access. Here's the reported case...
This is the output from Mac VM when pressing "asdf":
keyDown: 0 keyStroke: 97 keyUp: 0 keyDown: 1 keyStroke: 115 keyUp: 1 keyDown: 2 keyStroke: 100 keyUp: 2 keyDown: 3 keyStroke: 102 keyUp: 3
On Linux VM all three values are the same. The wrong values are directly on the output of virtual machine.
I've gotten bitten by this several times. The most recent was... er... now, hence the report!
Cheers, Sean -- View this message in context: http://forum.world.st/BUG-Mac-KeyUp-Down-Events-Missing-Char-tp4808968.html Sent from the Squeak VM mailing list archive at Nabble.com.
johnmci wrote
Thanks for the pointer... although all I understand now is it seems very complicated! ;)
----- Cheers, Sean -- View this message in context: http://forum.world.st/BUG-Mac-KeyUp-Down-Events-Missing-Char-tp4808968p48089... Sent from the Squeak VM mailing list archive at Nabble.com.
Le 2 mars 2015 21:38, "Sean P. DeNigris" sean@clipperadams.com a écrit :
johnmci wrote
Thanks for the pointer... although all I understand now is it seems very complicated! ;)
For the bluetooth keyboard experiment I did with the iPad I had to hook on undocumented events...
Yes it is complicated.
Phil
Cheers, Sean -- View this message in context:
http://forum.world.st/BUG-Mac-KeyUp-Down-Events-Missing-Char-tp4808968p48089...
Sent from the Squeak VM mailing list archive at Nabble.com.
philippeback wrote
For the bluetooth keyboard experiment I did…
Ah, I was doing a little chord keyboard emulator, but the key ups/downs seems pretty important for that case, although maybe I could just count them to know when all keys are released?
----- Cheers, Sean -- View this message in context: http://forum.world.st/BUG-Mac-KeyUp-Down-Events-Missing-Char-tp4808968p48090... Sent from the Squeak VM mailing list archive at Nabble.com.
On 02.03.2015, at 12:25, Sean P. DeNigris sean@clipperadams.com wrote:
In Pharo, there is https://pharo.fogbugz.com/default.asp?2042 which you need an account to access. Here's the reported case...
This is the output from Mac VM when pressing "asdf":
keyDown: 0 keyStroke: 97 keyUp: 0 keyDown: 1 keyStroke: 115 keyUp: 1 keyDown: 2 keyStroke: 100 keyUp: 2 keyDown: 3 keyStroke: 102 keyUp: 3
On Linux VM all three values are the same. The wrong values are directly on the output of virtual machine.
I've gotten bitten by this several times. The most recent was... er... now, hence the report!
The Mac VM does not translate up/down codes but gives you the raw Mac Virtual Keycodes as defined in /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
/* * Summary: * Virtual keycodes * * Discussion: * These constants are the virtual keycodes defined originally in * Inside Mac Volume V, pg. V-191. They identify physical keys on a * keyboard. Those constants with "ANSI" in the name are labeled * according to the key position on an ANSI-standard US keyboard. * For example, kVK_ANSI_A indicates the virtual keycode for the key * with the letter 'A' in the US keyboard layout. Other keyboard * layouts may have the 'A' key label on a different physical key; * in this case, pressing 'A' will generate a different virtual * keycode. */ enum { kVK_ANSI_A = 0x00, kVK_ANSI_S = 0x01, kVK_ANSI_D = 0x02, kVK_ANSI_F = 0x03, kVK_ANSI_H = 0x04, kVK_ANSI_G = 0x05, kVK_ANSI_Z = 0x06, kVK_ANSI_X = 0x07, kVK_ANSI_C = 0x08, kVK_ANSI_V = 0x09, kVK_ANSI_B = 0x0B, kVK_ANSI_Q = 0x0C, kVK_ANSI_W = 0x0D, kVK_ANSI_E = 0x0E, kVK_ANSI_R = 0x0F, kVK_ANSI_Y = 0x10, kVK_ANSI_T = 0x11, kVK_ANSI_1 = 0x12, kVK_ANSI_2 = 0x13, kVK_ANSI_3 = 0x14, kVK_ANSI_4 = 0x15, kVK_ANSI_6 = 0x16, kVK_ANSI_5 = 0x17, kVK_ANSI_Equal = 0x18, kVK_ANSI_9 = 0x19, kVK_ANSI_7 = 0x1A, kVK_ANSI_Minus = 0x1B, kVK_ANSI_8 = 0x1C, kVK_ANSI_0 = 0x1D, kVK_ANSI_RightBracket = 0x1E, kVK_ANSI_O = 0x1F, kVK_ANSI_U = 0x20, kVK_ANSI_LeftBracket = 0x21, kVK_ANSI_I = 0x22, kVK_ANSI_P = 0x23, kVK_ANSI_L = 0x25, kVK_ANSI_J = 0x26, kVK_ANSI_Quote = 0x27, kVK_ANSI_K = 0x28, kVK_ANSI_Semicolon = 0x29, kVK_ANSI_Backslash = 0x2A, kVK_ANSI_Comma = 0x2B, kVK_ANSI_Slash = 0x2C, kVK_ANSI_N = 0x2D, kVK_ANSI_M = 0x2E, kVK_ANSI_Period = 0x2F, kVK_ANSI_Grave = 0x32, kVK_ANSI_KeypadDecimal = 0x41, kVK_ANSI_KeypadMultiply = 0x43, kVK_ANSI_KeypadPlus = 0x45, kVK_ANSI_KeypadClear = 0x47, kVK_ANSI_KeypadDivide = 0x4B, kVK_ANSI_KeypadEnter = 0x4C, kVK_ANSI_KeypadMinus = 0x4E, kVK_ANSI_KeypadEquals = 0x51, kVK_ANSI_Keypad0 = 0x52, kVK_ANSI_Keypad1 = 0x53, kVK_ANSI_Keypad2 = 0x54, kVK_ANSI_Keypad3 = 0x55, kVK_ANSI_Keypad4 = 0x56, kVK_ANSI_Keypad5 = 0x57, kVK_ANSI_Keypad6 = 0x58, kVK_ANSI_Keypad7 = 0x59, kVK_ANSI_Keypad8 = 0x5B, kVK_ANSI_Keypad9 = 0x5C };
/* keycodes for keys that are independent of keyboard layout*/ enum { kVK_Return = 0x24, kVK_Tab = 0x30, kVK_Space = 0x31, kVK_Delete = 0x33, kVK_Escape = 0x35, kVK_Command = 0x37, kVK_Shift = 0x38, kVK_CapsLock = 0x39, kVK_Option = 0x3A, kVK_Control = 0x3B, kVK_RightShift = 0x3C, kVK_RightOption = 0x3D, kVK_RightControl = 0x3E, kVK_Function = 0x3F, kVK_F17 = 0x40, kVK_VolumeUp = 0x48, kVK_VolumeDown = 0x49, kVK_Mute = 0x4A, kVK_F18 = 0x4F, kVK_F19 = 0x50, kVK_F20 = 0x5A, kVK_F5 = 0x60, kVK_F6 = 0x61, kVK_F7 = 0x62, kVK_F3 = 0x63, kVK_F8 = 0x64, kVK_F9 = 0x65, kVK_F11 = 0x67, kVK_F13 = 0x69, kVK_F16 = 0x6A, kVK_F14 = 0x6B, kVK_F10 = 0x6D, kVK_F12 = 0x6F, kVK_F15 = 0x71, kVK_Help = 0x72, kVK_Home = 0x73, kVK_PageUp = 0x74, kVK_ForwardDelete = 0x75, kVK_F4 = 0x76, kVK_End = 0x77, kVK_F2 = 0x78, kVK_PageDown = 0x79, kVK_F1 = 0x7A, kVK_LeftArrow = 0x7B, kVK_RightArrow = 0x7C, kVK_DownArrow = 0x7D, kVK_UpArrow = 0x7E };
/* ISO keyboards only*/ enum { kVK_ISO_Section = 0x0A };
/* JIS keyboards only*/ enum { kVK_JIS_Yen = 0x5D, kVK_JIS_Underscore = 0x5E, kVK_JIS_KeypadComma = 0x5F, kVK_JIS_Eisu = 0x66, kVK_JIS_Kana = 0x68 };
- Bert -
vm-dev@lists.squeakfoundation.org