Merge branch 'chat-changes' into 'master'

Fix capslock wonkyness

See merge request KartKrew/Kart!98
This commit is contained in:
Sal 2018-11-17 16:54:56 -05:00
commit c419d973a3
3 changed files with 36 additions and 18 deletions

View file

@ -1098,8 +1098,17 @@ boolean CON_Responder(event_t *ev)
return true; return true;
} }
if (capslock ^ shiftdown) // gets capslock to work because capslock is cool // same capslock code as hu_stuff.c's HU_responder. Check there for details.
if ((key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z'))
{
if (shiftdown ^ capslock)
key = shiftxform[key]; key = shiftxform[key];
}
else
{
if (shiftdown)
key = shiftxform[key];
}
// enter a char into the command prompt // enter a char into the command prompt
if (key < 32 || key > 127) if (key < 32 || key > 127)

View file

@ -1074,6 +1074,18 @@ boolean HU_Responder(event_t *ev)
return false; return false;
} }
c = (INT32)ev->data1;
// capslock (now handled outside of chat on so that it works everytime......)
if (c && c == KEY_CAPSLOCK) // it's a toggle.
{
if (capslock)
capslock = false;
else
capslock = true;
return true;
}
if (!chat_on) if (!chat_on)
{ {
// enter chat mode // enter chat mode
@ -1109,21 +1121,18 @@ boolean HU_Responder(event_t *ev)
c = (INT32)ev->data1; c = (INT32)ev->data1;
// capslock // I know this looks very messy but this works. If it ain't broke, don't fix it!
if (c && c == KEY_CAPSLOCK) // it's a toggle. // shift LETTERS to uppercase if we have capslock or are holding shift
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{ {
if (capslock)
capslock = false;
else
capslock = true;
return true;
}
// use console translations
if (shiftdown ^ capslock) if (shiftdown ^ capslock)
c = shiftxform[c]; c = shiftxform[c];
}
// TODO: make chat behave like the console, so that we can go back and edit stuff when we fuck up. else // if we're holding shift we should still shift non letter symbols
{
if (shiftdown)
c = shiftxform[c];
}
// pasting. pasting is cool. chat is a bit limited, though :( // pasting. pasting is cool. chat is a bit limited, though :(
if (((c == 'v' || c == 'V') && ctrldown) && !CHAT_MUTE) if (((c == 'v' || c == 'V') && ctrldown) && !CHAT_MUTE)