Convert cfg file entries to binds on cfg load

git-svn-id: https://svn.eduke32.com/eduke32@815 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2008-06-29 13:35:52 +00:00
parent b60e2a57dc
commit 6c078cfab6
2 changed files with 133 additions and 98 deletions

View file

@ -338,6 +338,8 @@ void CONFIG_ReadKeys(void)
numkeyentries = SCRIPT_NumberEntries(ud.config.scripthandle,"KeyDefinitions"); numkeyentries = SCRIPT_NumberEntries(ud.config.scripthandle,"KeyDefinitions");
Bmemset(&boundkeys,0,sizeof(boundkeys));
for (i=0;i<numkeyentries;i++) for (i=0;i<numkeyentries;i++)
{ {
function = CONFIG_FunctionNameToNum(SCRIPT_Entry(ud.config.scripthandle,"KeyDefinitions", i)); function = CONFIG_FunctionNameToNum(SCRIPT_Entry(ud.config.scripthandle,"KeyDefinitions", i));
@ -365,6 +367,36 @@ void CONFIG_ReadKeys(void)
} }
ud.config.KeyboardKeys[function][0] = key1; ud.config.KeyboardKeys[function][0] = key1;
ud.config.KeyboardKeys[function][1] = key2; ud.config.KeyboardKeys[function][1] = key2;
if (key1 != 0xff && keyname1[0])
{
boundkeys[key1].repeat = 1;
boundkeys[key1].key=Bstrdup(keyname1);
if (!boundkeys[key1].name[0])
{
Bsprintf(tempbuf,"gamefunc_%s",CONFIG_FunctionNumToName(function));
Bstrncpy(boundkeys[key1].name,tempbuf, MAXBINDSTRINGLENGTH-1);
}
else
{
Bsprintf(tempbuf,"; gamefunc_%s",CONFIG_FunctionNumToName(function));
Bstrncat(boundkeys[key1].name,tempbuf, MAXBINDSTRINGLENGTH-1);
}
}
if (key2 != 0xff && keyname2[0])
{
boundkeys[key2].repeat = 1;
boundkeys[key2].key=Bstrdup(keyname2);
if (!boundkeys[key2].name[0])
{
Bsprintf(tempbuf,"gamefunc_%s",CONFIG_FunctionNumToName(function));
Bstrncpy(boundkeys[key2].name,tempbuf, MAXBINDSTRINGLENGTH-1);
}
else
{
Bsprintf(tempbuf,"; gamefunc_%s",CONFIG_FunctionNumToName(function));
Bstrncat(boundkeys[key2].name,tempbuf, MAXBINDSTRINGLENGTH-1);
}
}
} }
} }

View file

@ -153,104 +153,107 @@ extern void computergetinput(int snum, input *syn);
keydef keynames[]= keydef keynames[]=
{ {
{"COMMA", sc_Comma}, { "Escape", 0x1 },
{"PERIOD", sc_Period}, { "1", 0x2 },
{"ENTER", sc_Enter}, { "2", 0x3 },
{"ESCAPE", sc_Escape}, { "3", 0x4 },
{"SPACE", sc_Space}, { "4", 0x5 },
{"BACKSPACE", sc_BackSpace}, { "5", 0x6 },
{"TAB", sc_Tab}, { "6", 0x7 },
{"LEFTALT", sc_LeftAlt}, { "7", 0x8 },
{"RIGHTALT", sc_RightAlt}, { "8", 0x9 },
{"LEFTCONTROL", sc_LeftControl}, { "9", 0xa },
{"RIGHTCONTROL",sc_RightControl}, { "0", 0xb },
{"CAPSLOCK", sc_CapsLock}, { "-", 0xc },
{"LEFTSHIFT", sc_LeftShift}, { "=", 0xd },
{"RIGHTSHIFT", sc_RightShift}, { "BakSpc", 0xe },
{"F1", sc_F1}, { "Tab", 0xf },
{"F2", sc_F2}, { "Q", 0x10 },
{"F3", sc_F3}, { "W", 0x11 },
{"F4", sc_F4}, { "E", 0x12 },
{"F5", sc_F5}, { "R", 0x13 },
{"F6", sc_F6}, { "T", 0x14 },
{"F7", sc_F7}, { "Y", 0x15 },
{"F8", sc_F8}, { "U", 0x16 },
{"F9", sc_F9}, { "I", 0x17 },
{"F10", sc_F10}, { "O", 0x18 },
{"F11", sc_F11}, { "P", 0x19 },
{"F12", sc_F12}, { "[", 0x1a },
{"KPAD_STAR", sc_Kpad_Star}, { "]", 0x1b },
{"PAUSE", sc_Pause}, { "Enter", 0x1c },
{"SCROLLLOCK", sc_ScrollLock}, { "LCtrl", 0x1d },
{"NUMLOCK", sc_NumLock}, { "A", 0x1e },
{"SLASH", sc_Slash}, { "S", 0x1f },
{"SEMICOLON", sc_SemiColon}, { "D", 0x20 },
{"QUOTE", sc_Quote}, { "F", 0x21 },
{"TILDE", sc_Tilde}, { "G", 0x22 },
{"BACKSLASH", sc_BackSlash}, { "H", 0x23 },
{ "J", 0x24 },
{"OPENBRACKET", sc_OpenBracket}, { "K", 0x25 },
{"CLOSEBRACKET",sc_CloseBracket}, { "L", 0x26 },
{ ";", 0x27 },
{"1", sc_1}, { "'", 0x28 },
{"2", sc_2}, { "`", 0x29 },
{"3", sc_3}, { "LShift", 0x2a },
{"4", sc_4}, { "\\", 0x2b },
{"5", sc_5}, { "Z", 0x2c },
{"6", sc_6}, { "X", 0x2d },
{"7", sc_7}, { "C", 0x2e },
{"8", sc_8}, { "V", 0x2f },
{"9", sc_9}, { "B", 0x30 },
{"0", sc_0}, { "N", 0x31 },
{"MINUS", sc_Minus}, { "M", 0x32 },
{"EQUALS", sc_Equals}, { ",", 0x33 },
{"PLUS", sc_Plus}, { ".", 0x34 },
{ "/", 0x35 },
{"KPAD_1", sc_kpad_1}, { "RShift", 0x36 },
{"KPAD_2", sc_kpad_2}, { "Kpad*", 0x37 },
{"KPAD_3", sc_kpad_3}, { "LAlt", 0x38 },
{"KPAD_4", sc_kpad_4}, { "Space", 0x39 },
{"KPAD_5", sc_kpad_5}, { "CapLck", 0x3a },
{"KPAD_6", sc_kpad_6}, { "F1", 0x3b },
{"KPAD_7", sc_kpad_7}, { "F2", 0x3c },
{"KPAD_8", sc_kpad_8}, { "F3", 0x3d },
{"KPAD_9", sc_kpad_9}, { "F4", 0x3e },
{"KPAD_0", sc_kpad_0}, { "F5", 0x3f },
{"KPAD_MINUS", sc_kpad_Minus}, { "F6", 0x40 },
{"KPAD_PLUS", sc_kpad_Plus}, { "F7", 0x41 },
{"KPAD_PERIOD", sc_kpad_Period}, { "F8", 0x42 },
{ "F9", 0x43 },
{"A", sc_A}, { "F10", 0x44 },
{"B", sc_B}, { "NumLck", 0x45 },
{"C", sc_C}, { "ScrLck", 0x46 },
{"D", sc_D}, { "Kpad7", 0x47 },
{"E", sc_E}, { "Kpad8", 0x48 },
{"F", sc_F}, { "Kpad9", 0x49 },
{"G", sc_G}, { "Kpad-", 0x4a },
{"H", sc_H}, { "Kpad4", 0x4b },
{"I", sc_I}, { "Kpad5", 0x4c },
{"J", sc_J}, { "Kpad6", 0x4d },
{"K", sc_K}, { "Kpad+", 0x4e },
{"L", sc_L}, { "Kpad1", 0x4f },
{"M", sc_M}, { "Kpad2", 0x50 },
{"N", sc_N}, { "Kpad3", 0x51 },
{"O", sc_O}, { "Kpad0", 0x52 },
{"P", sc_P}, { "Kpad.", 0x53 },
{"Q", sc_Q}, { "F11", 0x57 },
{"R", sc_R}, { "F12", 0x58 },
{"S", sc_S}, { "KpdEnt", 0x9c },
{"T", sc_T}, { "RCtrl", 0x9d },
{"U", sc_U}, { "Kpad/", 0xb5 },
{"V", sc_V}, { "RAlt", 0xb8 },
{"W", sc_W}, { "PrtScn", 0xb7 },
{"X", sc_X}, { "Pause", 0xc5 },
{"Y", sc_Y}, { "Home", 0xc7 },
{"Z", sc_Z}, { "Up", 0xc8 },
{ "PgUp", 0xc9 },
{"UPARROW", sc_UpArrow}, { "Left", 0xcb },
{"DOWNARROW", sc_DownArrow}, { "Right", 0xcd },
{"LEFTARROW", sc_LeftArrow}, { "End", 0xcf },
{"RIGHTARROW", sc_RightArrow}, { "Down", 0xd0 },
{ "PgDn", 0xd1 },
{ "Insert", 0xd2 },
{ "Delete", 0xd3 },
{0,0} {0,0}
}; };