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