Commit Graph

54 Commits

Author SHA1 Message Date
Zack Middleton f92c293f7b Add keys for SDL 2.0.14's new gamepad buttons
This fixes the additional buttons triggering binds for ioq3 left
and right joystick direction keys.
2022-09-22 09:18:22 -05:00
Zack Middleton aab1d92b13 Allow binds to use hex values for all key codes 2018-09-30 14:40:02 -05:00
Zack Middleton 3ad427c68d Fix q3history buffer not cleared between mods and OOB-access
Loading a 1024-byte q3history file will fill the whole consoleSaveBuffer
leaving no space for a string terminator. Com_Parse will read at least
one byte beyond the end of consoleSaveBuffer. The written console
history file can only be 1023 bytes (enforced by Q_strcat) so don't
allow loading size of 1024.

If switching to a mod with a shorter q3history file, the data in
consoleSaveBuffer that isn't overwritten will be parsed. So always
add a string terminator.

String not terminated reported by David "devnexen" CARLIER.
2018-04-09 02:20:49 -05:00
Edward Betts fe42b8653d Correct spelling mistakes. 2017-11-22 01:40:20 -06:00
Zack Middleton dfce71929a Add con_autochat and con_autoclear cvars 2017-06-08 15:46:19 -05:00
Zack Middleton 8a50e2aa09 Don't repeat alt+enter key event
Holding alt+enter should not continuously toggle fullscreen mode.
2017-05-29 16:41:03 -05:00
SmileTheory b7f2ebd477 Better gamepad support. 2016-08-08 02:36:10 -07:00
Zack Middleton 1d95ef210e SDL 2 scroll/caps/num lock keys send KEYUP event when key is released 2014-08-28 20:09:37 -05:00
Zack Middleton 952fd0489c Readd backspace char event for UI VM text fields
UI VMs expect a backspace char event, but sdl2 branch only was only sending a key event.
Revert cl_keys.c to master branch (it would cause backspace to happen twice in console).
2013-11-26 17:03:15 -06:00
Tim Angus bde7665462 Merge branch 'master' into sdl2
Conflicts:
	code/sdl/sdl_input.c
2013-08-16 23:34:08 +01:00
Zack Middleton d4c6711e51 Fix "bind <key>" message for unbound keys
"bind X cmd; unbind X; bind X" now says '"x" is unbound' instead of '"x" = ""'
2013-08-16 15:41:01 -05:00
Zack Middleton 3518e7b22e Fix bind commands getting run when closing UI
Introduced in commit "Add togglemenu command" bf2b04.

Don't let UI key event changing key catcher affect bind parsing. Bind parsing itself will never change the key catcher.

Example of issue: if mouse1 is bound to +attack when clicking Resume Game, player will shoot until releasing the mouse button.
Mouse button should have to be released and pressed again before player will shoot.
2013-07-22 17:44:28 -05:00
/dev/humancontroller 9d626b6a12 drop some useless return statements 2013-05-30 15:43:21 -05:00
Tim Angus d9d52f0306 Merge branch 'master' into sdl2
Conflicts:
	Makefile
	code/renderercommon/qgl.h
	code/renderergl1/tr_local.h
	code/sdl/sdl_glimp.c
2013-05-08 14:27:15 +01:00
Zack Middleton fe0a65e52e Show lowercased ascii in bind command 2013-03-03 19:14:36 -06:00
Zack Middleton a18ae32a5e Fix Key_StringToKeynum to return lowercased ascii
Fixes bind and unbind uppercase ascii and uppercase ascii in cl_consoleKeys.

keycodes.h states "normal keys should be passed as lowercased ascii"
2013-03-03 19:07:44 -06:00
Tim Angus f478761e07 Use SDL 2 instead of SDL 1.2 2013-01-17 18:20:03 +00:00
Zack Middleton 9c701a781b Run toggleconsole in binds while in menu or message mode 2013-01-16 23:06:35 -06:00
Zack Middleton bf2b04254a Add togglemenu command
Allow togglemenu to be run in binds while in menu or message mode.
2013-01-16 23:03:09 -06:00
Thilo Schulz dee3724a13 - Improve game_restart:
* differing screen resolutions and network settings are now honoured when changing fs_game
  * Fix hunk memory leak on game_restart
  * Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart
  * Revert back to previous fs_game after disconnecting from a server that triggered a game_restart
  * Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform)
- Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
2011-06-21 11:18:35 +00:00
Thilo Schulz 6b82f4fd09 Consider key states before startup, patch by Zack Middleton (#4950) 2011-04-17 22:09:05 +00:00
Tim Angus c081b9c1fd * (bug #4800) Don't prepend a slash to console commands if they're empty
* (bug #4800) Limit console input length such that there is always room for a
  leading slash
2010-12-19 17:35:01 +00:00
Thilo Schulz fee5a4a157 Fix recursive error for disconnect after reliable client command overflow. Thanks to /dev/humancontroller for reporting. https://bugzilla.icculus.org/show_bug.cgi?id=3616 2009-10-11 18:31:00 +00:00
Thilo Schulz dd572db7d6 Rewrite of key event processing, thanks to /dev/humancontroller and Ben Millwood. https://bugzilla.icculus.org/show_bug.cgi?id=3374 2009-10-03 23:35:07 +00:00
Tim Angus 130c0c6575 * Move command argument completion from being hard coded to being associated
with the individual commands to be completed
2008-09-16 21:05:22 +00:00
Tim Angus b2d87c4b2a * Add Com_HexStrToInt
* Fixed some whacky indentation in q_shared.c
* Allow single character keys e.g. 'c' to be used in cl_consoleKeys in addition
  to ASCII characters
* Experimental code to ignore dead keys
2008-09-05 23:38:35 +00:00
Tim Angus c0328ab4f6 * Revert 'Handle dead keys more gracefully by taking a "best guess" rather than
ignoring completely' from r1459; it can't ever work acceptably, especially on
  azerty/qwertz layouts
* Make the ordering of the output from in_keyboardDebug more sensible
* Add cl_consoleKeys cvar, a space delimited list of key names or characters
  that toggle the console
2008-08-28 22:05:34 +00:00
Tim Angus 5b4dc4c743 * Tidy up the keyboard code a bit, add in_keyboardDebug 2008-08-19 21:32:23 +00:00
Thilo Schulz 9412316883 Make sure fullscreen does not work for in_nograb when manually Alt-Entering, too. 2008-03-26 16:20:21 +00:00
Tim Angus aa5e852056 * Unconditionally place a '\' at the start of the command buffer when
autocompleting -- you're still all WRONG :p
* Fix bugette where the completee didn't get its case copied from
  the completed token
* Add functionality to autocomplete key names
* Don't build client command completion on the dedicated server
2007-10-12 22:34:45 +00:00
Tim Angus 5692e30fa9 * Fix bug that prevented key up events getting to cgame/ui when not in game
* Use Key_[GS]etCatcher everywhere to set keycatcher
* Clear all key states when the catcher changes
2007-10-02 14:14:45 +00:00
Tim Angus da29118ae0 * Don't apply colour escape chars on input fields 2007-09-21 10:35:24 +00:00
Tim Angus 672cfbf16f * Merge unified-sdl to trunk
* Bump Q3_VERSION to 1.35
2007-09-05 18:17:46 +00:00
Tim Angus 8b5a40e2ed * Nuts. 2007-08-23 15:23:43 +00:00
Tim Angus 2ea6b8b512 * (bug 3324) Incorrect use of sizeof (beast <info@dbwatersports.com>)
* (bug 2946) Console scrolling broken (identified by misantropia)
  + Field_VariableSizeDraw contained a hack to ensure the cursor was always
    visible. Unfortunately this interfered with scrolling long lines. Move the
    hack to a different place
  + Removed commented code in the same function
  + Reworked Field_KeyDownEvent to use a switch( ... ) and set edit->scroll in
    every case, thereby avoiding scrolling issues when "Home" or "End" are
    pressed
2007-08-23 15:22:35 +00:00
Tim Angus de364863be * Silly tab filter breaking things 2007-04-01 13:42:03 +00:00
Tim Angus fb58d8f123 * Move storage of console history from a cvar to a file in order to alleviate
security concerns
2007-04-01 13:38:17 +00:00
Tony J. White = f9bb47d9af * (bug 2741) replace K_LAST_KEY with MAX_KEYS. K_LAST_KEY is now defined
at 256 for mod compatability reasons.  ioq3-only mods may
             chose to use MAX_KEYS for checking binds in order to get full
             key support, but at the cost of breaking compatability with
             older clients.

* (bug 2741) remove some lingering 256-key hardcoding

* properly check bounds of keynum in Key_IsDown(), Key_SetBinding(),
  and Key_GetBinding()
2007-03-22 22:03:00 +00:00
Tony J. White = d580c54e2d * (bug 2741) Adds support in the SDL client for many keys that were not
recognized.  For example, F13, F14, F15, WINDOWS, SCROLLLOCK, CAPSLOCK,
  WORLD_0 - WORLD_95, etc. (Christophe Cavalaria)

* (bug 2741) Adds the hard-coded toggleConsole bind Shift-Escape

* (bug 2741) Adds detailed explaination of SDL keyboard handling differences
  in the README file.
2007-02-14 23:29:19 +00:00
Ludwig Nussel 91e54c01ed using the function pointer time() doesn't make any sense. Passing down
the variable instead looks like the obvious fix.
2006-12-30 11:17:17 +00:00
Tony J. White = 8b1b3464d7 * (bug 2758) Toggling the console while holding keys can put the cgame/ui
keycatchers in a bad place since they see a key press for a key that is
  already in a down state.  Simply clearing the down state of all keys as
  the console is toggled seems like a simple fix.
2006-10-23 15:18:05 +00:00
Tim Angus 2e19bdfb5d * Reimplement console history recall "bug" behaviour without the bug 2006-02-04 00:28:57 +00:00
Tim Angus 91b2b9297a * Fix to an obo bug in the console history recall code 2006-01-28 23:26:23 +00:00
Tim Angus 947ebb932e * SDL build no longer requires a vid_restart when changing r_fullscreen 2006-01-25 17:57:53 +00:00
Tim Angus 8a6be4aef4 * Persistent console history 2006-01-24 04:35:19 +00:00
Tim Angus 3404fbac56 * Fix the operation of the delete key in *nix 2006-01-22 17:07:21 +00:00
Tim Angus c3f7915a8b * Overhaul of console autocompletion
- No longer does weird stuff like move the cursor inappropriately
  - Autocomplete works with compound commands
  - Special autocomplete on some commands e.g. \map, \demo
  - Removed various hacks used to counter the original autocomplete code
2006-01-22 01:58:50 +00:00
Tim Angus 05e8ab9538 * Added STATUS
* Updated TODO
* Moved ChangeLog to root
* Updated ChangeLog
* s/Foobar/Quake III Arena Source Code/
* Biggest patch EVAR. I wonder how many mail boxes this will fill...
2005-10-29 01:53:09 +00:00
Tim Angus 2b8395a4d0 * Replaced lots of __linux__ || __FreeBSD__ with __GNUC__
* MinGW port now uses asm versions of SnapVector and ftol
* Improved the handling of mangled symbols in vm_x86.c
2005-09-23 02:59:15 +00:00
Tim Angus 33a48a0336 * Fix to multiple buffer overflow bugs in CL_Rcon_f
* Fix to COM_ParseExt 1 byte overwrite bug
* Fixed some missing calls to trap_FS_FCloseFile
* Fixed q3msgboom and q3infoboom bugs
* Fixed some qboolean type confusion
* Above fixes from http://www.quakesrc.org/forums/viewtopic.php?t=5374
2005-09-19 17:45:29 +00:00