X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fkeybinder.c;h=c312e382656105a4824bd3b6e3c3568df0ee36ae;hp=739be1b056aa908da09d5ab1bfded18f3ef30708;hb=71e6c75bc408ae5a116f296797c49c0cef7be113;hpb=30125332eda7a5e10bd535c63c3f689729155810 diff --git a/qcsrc/menu/xonotic/keybinder.c b/qcsrc/menu/xonotic/keybinder.c index 739be1b056..c312e38265 100644 --- a/qcsrc/menu/xonotic/keybinder.c +++ b/qcsrc/menu/xonotic/keybinder.c @@ -34,7 +34,7 @@ void KeyBinder_Bind_Edit(entity btn, entity me); #ifdef IMPLEMENTATION -string KEY_NOT_BOUND_CMD = "// not bound"; +const string KEY_NOT_BOUND_CMD = "// not bound"; #define MAX_KEYS_PER_FUNCTION 2 #define MAX_KEYBINDS 256 @@ -143,6 +143,13 @@ void XonoticKeyBinder_keyGrabbed(entity me, float key, float ascii) if(key == K_ESCAPE) return; + // forbid these keys from being bound in the menu + if(key == K_CAPSLOCK || key == K_NUMLOCK) + { + KeyBinder_Bind_Change(me, me); + return; + } + func = Xonotic_KeyBinds_Functions[me.selectedItem]; if(func == "") return; @@ -231,15 +238,22 @@ void KeyBinder_Bind_Clear(entity btn, entity me) localcmd("-zoom\n"); // to make sure we aren't in togglezoom'd state cvar_set("_hud_showbinds_reload", "1"); } +void KeyBinder_Bind_Reset_All(entity btn, entity me) +{ + localcmd("unbindall\n"); + localcmd("exec binds-default.cfg\n"); + localcmd("-zoom\n"); // to make sure we aren't in togglezoom'd state + cvar_set("_hud_showbinds_reload", "1"); +} void XonoticKeyBinder_clickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedServer) + if(i == me.lastClickedKey) if(time < me.lastClickedTime + 0.3) { // DOUBLE CLICK! KeyBinder_Bind_Change(NULL, me); } - me.lastClickedServer = i; + me.lastClickedKey = i; me.lastClickedTime = time; } void XonoticKeyBinder_setSelected(entity me, float i)