X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fmenu%2Fxonotic%2Fkeybinder.c;h=1d8dc96425a79ddf7ad2e8e658c9421c0944a835;hb=8c3fe3f9669f22072136f3fbe799e225acbd9888;hp=bb16e0888956ca61d830a2cece4b2a5374cffd63;hpb=24c0e211b8a839afe6bb5fc5c603d450a72b9160;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/keybinder.c b/qcsrc/menu/xonotic/keybinder.c index bb16e0888..1d8dc9642 100644 --- a/qcsrc/menu/xonotic/keybinder.c +++ b/qcsrc/menu/xonotic/keybinder.c @@ -33,6 +33,8 @@ void KeyBinder_Bind_Edit(entity btn, entity me); #ifdef IMPLEMENTATION +string KEY_NOT_BOUND_COMMAND = "// not bound"; + #define MAX_KEYS_PER_FUNCTION 2 #define MAX_KEYBINDS 256 string Xonotic_KeyBinds_Functions[MAX_KEYBINDS]; @@ -130,7 +132,8 @@ void XonoticKeyBinder_keyGrabbed(entity me, float key, float ascii) { k = stof(argv(j)); if(k != -1) - localcmd("\nunbind \"", keynumtostring(k), "\"\n"); + //localcmd("\nunbind \"", keynumtostring(k), "\"\n"); + localcmd("\nbind \"", keynumtostring(k), "\" \"", KEY_NOT_BOUND_CMD, "\"\n"); } } localcmd("\nbind \"", keynumtostring(key), "\" \"", func, "\"\n"); @@ -191,7 +194,8 @@ void KeyBinder_Bind_Clear(entity btn, entity me) { k = stof(argv(j)); if(k != -1) - localcmd("\nunbind \"", keynumtostring(k), "\"\n"); + //localcmd("\nunbind \"", keynumtostring(k), "\"\n"); + localcmd("\nbind \"", keynumtostring(k), "\" \"", KEY_NOT_BOUND_CMD, "\"\n"); } } @@ -240,10 +244,12 @@ float XonoticKeyBinder_keyDown(entity me, float key, float ascii, float shift) switch(key) { case K_ENTER: + case K_KP_ENTER: case K_SPACE: KeyBinder_Bind_Change(me, me); break; case K_DEL: + case K_KP_DEL: case K_BACKSPACE: KeyBinder_Bind_Clear(me, me); break; @@ -297,7 +303,8 @@ void XonoticKeyBinder_drawListBoxItem(entity me, float i, vector absSize, float theAlpha *= SKINALPHA_DISABLED; } - draw_Text(me.realUpperMargin * eY + extraMargin * eX, descr, me.realFontSize, theColor, theAlpha, 0); + s = draw_TextShortenToWidth(descr, me.columnFunctionSize, 0, me.realFontSize); + draw_Text(me.realUpperMargin * eY + extraMargin * eX, s, me.realFontSize, theColor, theAlpha, 0); if(func != "") { n = tokenize(findkeysforcommand(func)); // uses '...' strings