This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
{"ALT", K_ALT},
{"CTRL", K_CTRL},
{"SHIFT", K_SHIFT},
-
+
{"F1", K_F1},
{"F2", K_F2},
{"F3", K_F3},
// Thanks to Fett, Taniwha
Con_CompleteCommandLine();
}
-
+
// Advanced Console Editing by Radix radix@planetquake.com
// Added/Modified by EvilTypeGuy eviltypeguy@qeradiant.com
}
if (key == K_INS) // toggle insert mode
- {
+ {
key_insert ^= 1;
return;
}
int Key_StringToKeynum (char *str)
{
keyname_t *kn;
-
+
if (!str || !str[0])
return -1;
if (!str[1])
*/
char *Key_KeynumToString (int keynum)
{
- keyname_t *kn;
+ keyname_t *kn;
static char tinystr[2];
-
+
if (keynum == -1)
return "<KEY NOT FOUND>";
if (keynum > 32 && keynum < 127)
Con_Printf ("unbind <key> : remove commands from a key\n");
return;
}
-
+
b = Key_StringToKeynum (Cmd_Argv(1));
if (b==-1)
{
void Key_Unbindall_f (void)
{
int i;
-
+
for (i=0 ; i<256 ; i++)
if (keybindings[i])
Key_SetBinding (i, "");
{
int i, c, b;
char cmd[1024];
-
+
c = Cmd_Argc();
if (c != 2 && c != 3)
Con_Printf ("\"%s\" is not bound\n", Cmd_Argv(1) );
return;
}
-
+
// copy the rest of the command line
cmd[0] = 0; // start out with a null string
for (i=2 ; i< c ; i++)
{
int i;
+ // LordHavoc: clear keybindings array so bounds checking won't freak
+ for (i = 0;i < 256;i++)
+ keybindings[i] = NULL;
+
for (i=0 ; i<32 ; i++)
{
key_lines[i][0] = ']';
key_lines[i][1] = 0;
}
key_linepos = 1;
-
+
//
// init ascii characters in console mode
//
Cmd_AddCommand ("bind",Key_Bind_f);
Cmd_AddCommand ("unbind",Key_Unbind_f);
Cmd_AddCommand ("unbindall",Key_Unbindall_f);
-
-
}
/*