Key command setting windows shows option key incorrectly


#1

for example, option-j shows as "option #2206


#2

Ok, I’d been meaning to sort this out, and I’ve checked in some fixes for it now - let me know if it’s still got any glitches for you…


#3

KeyPress::getTextDescription() needs the following:

else if (keyCode == numberPadAdd) desc << numberPadPrefix << "+"; else if (keyCode == numberPadSubtract) desc << numberPadPrefix << "-"; else if (keyCode == numberPadMultiply) desc << numberPadPrefix << "*"; else if (keyCode == numberPadDivide) desc << numberPadPrefix << "/"; else if (keyCode == numberPadSeparator) desc << numberPadPrefix << " separator"; else if (keyCode == numberPadDecimalPoint) desc << numberPadPrefix << ".";


#4

ah yes, thanks.


#5

it’s still not quite right, numpad clear and numpad = generate a keycode of 0.


#6

here is the updated translation table. this thing is a pain to edit.

static const int keyTranslations[] = { 0, 's', 'd', 'f', 'h', 'g', 'z', 'x', 'c', 'v', 0xa7, 'b', 'q', 'w', 'e', 'r', 'y', 't', '1', '2', '3', '4', '6', '5', '=', '9', '7', '-', '8', '0', ']', 'o', 'u', '[', 'i', 'p', KeyPress::returnKey, 'l', 'j', '\'', 'k', ';', '\\', ',', '/', 'n', 'm', '.', 0, 0, '`', KeyPress::backspaceKey, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KeyPress::numberPadDecimalPoint, 0, KeyPress::numberPadMultiply, 0, KeyPress::numberPadAdd, 0, KeyPress::numberPadClear, 0, 0, 0, KeyPress::numberPadDivide, KeyPress::returnKey, 0, KeyPress::numberPadSubtract, 0, 0, KeyPress::numberPadEquals, KeyPress::numberPad0, KeyPress::numberPad1, KeyPress::numberPad2, KeyPress::numberPad3, KeyPress::numberPad4, KeyPress::numberPad5, KeyPress::numberPad6, KeyPress::numberPad7, 0, KeyPress::numberPad8, KeyPress::numberPad9, 0, 0, 0, KeyPress::F5Key, KeyPress::F6Key, KeyPress::F7Key, KeyPress::F3Key, KeyPress::F8Key, KeyPress::F9Key, 0, KeyPress::F11Key, 0, KeyPress::F13Key, KeyPress::F16Key, KeyPress::F14Key, 0, KeyPress::F10Key, 0, KeyPress::F12Key, 0, KeyPress::F15Key, 0, KeyPress::homeKey, KeyPress::pageUpKey, 0, KeyPress::F4Key, KeyPress::endKey, KeyPress::F2Key, KeyPress::pageDownKey, KeyPress::F1Key, KeyPress::leftKey, KeyPress::rightKey, KeyPress::downKey, KeyPress::upKey, 0 };


#7

need this too:

[code] if (key == 0)
{
// see if it’s a numpad number
for (int i = 0; i < 10; ++i)
if (desc.containsWholeWordIgnoreCase (numberPadPrefix + String (i)))
key = numberPad0 + i;

	// see if it is another numpad key
	if (desc.containsWholeWordIgnoreCase(String(numberPadPrefix).trim()))
	{
		if (desc.endsWith(T("+")))
			return numberPadAdd;
		else if (desc.endsWith(T("-")))
			return numberPadSubtract;
		else if (desc.endsWith(T("*")))
			return numberPadMultiply;
		else if (desc.endsWith(T("/")))
			return numberPadDivide;
		else if (desc.endsWith(T("seperator")))
			return numberPadSeparator;
		else if (desc.endsWith(T(".")))
			return numberPadDecimalPoint;
		else if (desc.endsWith(T("=")))
			return numberPadEquals;
		else if (desc.endsWith(T("clear")))
			return numberPadClear;
	}[/code]

#8

Cheers. (I don’t think I have a clear key on my laptop’s number pad though…)


#9

Another update, KeyPress::spaceKey was missing.

static const int keyTranslations[] = { 0, 's', 'd', 'f', 'h', 'g', 'z', 'x', 'c', 'v', 0xa7, 'b', 'q', 'w', 'e', 'r', 'y', 't', '1', '2', '3', '4', '6', '5', - '=', '9', '7', '-', '8', '0', ']', 'o', 'u', '[', 'i', 'p', KeyPress::returnKey, 'l', 'j', '\'', 'k', ';', '\\', ',', '/', 'n', 'm', '.', 0, KeyPress::spaceKey, '`', KeyPress::backspaceKey, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KeyPress::numberPadDecimalPoint, 0, KeyPress::numberPadMultiply, 0, KeyPress::numberPadAdd, 0, KeyPress::numberPadClear, 0, 0, 0, KeyPress::numberPadDivide, KeyPress::returnKey, 0, KeyPress::numberPadSubtract, 0, 0, KeyPress::numberPadEquals, KeyPress::numberPad0, KeyPress::numberPad1, KeyPress::numberPad2, KeyPress::numberPad3, KeyPress::numberPad4, KeyPress::numberPad5, KeyPress::numberPad6, KeyPress::numberPad7, 0, KeyPress::numberPad8, KeyPress::numberPad9, 0, 0, 0, KeyPress::F5Key, KeyPress::F6Key, KeyPress::F7Key, KeyPress::F3Key, KeyPress::F8Key, KeyPress::F9Key, 0, KeyPress::F11Key, 0, KeyPress::F13Key, KeyPress::F16Key, KeyPress::F14Key, 0, KeyPress::F10Key, 0, KeyPress::F12Key, 0, KeyPress::F15Key, 0, KeyPress::homeKey, KeyPress::pageUpKey, 0, KeyPress::F4Key, KeyPress::endKey, KeyPress::F2Key, KeyPress::pageDownKey, KeyPress::F1Key, KeyPress::leftKey, KeyPress::rightKey, KeyPress::downKey, KeyPress::upKey, 0 };


#10

Blimey, that was a bit of an oversight! Thanks!


#11