Commit graph

61 commits

Author SHA1 Message Date
Ensiform
b9e97b3857 Move Event processor call down below the mouse checks.
Only send mouse events if both values are non-zero.

Hopefully this helps with the event overflow spam that can sometimes
happen on loads or laggy situations.
2015-01-26 02:39:58 -06:00
Zack Middleton
a700b76722 Fix reading 4 byte UTF-8 text input 2014-12-19 21:56:54 -06:00
Zack Middleton
9fbbf4214d Fix Windows key bind name on non-Mac using SDL2
SDL 1.2 sends SDKL_*META (command) and SDLK_*SUPER (windows key).
SDL2 sends SDLK_*GUI for both.
2014-09-11 20:04:28 -05:00
Zack Middleton
878cda6a20 Fix binding 'context menu' key using SDL2
SDL 1.2 converted Windows' VK_APPS and X11 XK_Hyper_R to SDLK_MENU.
SDL2 has it as a separate SDLK_APPLICATION key, so convert it to K_MENU too.
2014-09-11 20:03:54 -05: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
077f6bd068 Fix binding KP_NUMLOCK
Restore mapping SDL numlock to quake3 numlock.
2014-08-26 23:01:18 -05:00
Tim Angus
2a3368481d Merge branch 'master' into sdl2
Conflicts:
	Makefile
	code/renderergl2/tr_image.c
2014-08-25 15:00:48 +01:00
Zack Middleton
1d664a3a10 Remove unused cvar in_joystickDebug 2014-07-03 20:59:54 -05:00
Zack Middleton
5994564537 Remove unused array joy_pressed 2014-06-19 20:48:54 -05:00
Zack Middleton
6a33a69795 Disable key repeat if key catcher is 0
SDL1.2 branch disables key repeat when key catcher is 0.
Presumably to prevent binds from executing multiple times.

SDL2 replaced being able to disabled key repeat using SDL_EnableKeyRepeat
with a non-zero repeat value in the key event.
2014-05-19 03:45:44 -05:00
Zack Middleton
9f22ae9cb2 Fix ctrl-c etc codes for edit fields 2014-03-17 12:46:09 -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
Zack Middleton
cb153f2aaa Fix warning that SDL_GetKeyboardState return value is used non-const 2013-10-19 00:39:07 -05:00
Zack Middleton
c6a61d212a Fix SDL2 losing event subsystem
Quiting SDL Video or Joystick subsystem implies quiting the Event subsystem in SDL2.
SDL keeps track of number of init and shutdown calls for each subsystem.
Shuting down video or joystick more or equal to number of times they're inited will lead to event shutdown.

Toggling in and out of fullscreen or running in_restart twice causes SDL event subsystem to shutdown, making input not work.

If the console is closed, IN_GobbleMotionEvents gets stuck in a loop. SDL_PeepEvents returns -1 when there is an error, but we assume non-0 means read more events.

IN_ShutdownJoystick needs to check if joystick subsystem was inited before quitting it, otherwise we may cause SDL event subsystem to shutdown.
2013-10-18 16:31:19 -05:00
cmf028
11c3bed74d Send key up events for the mouse wheel
Previous versions of SDL would send SDL_MOUSEBUTTONUP events for the mouse wheel immediately following the corresponding SDL_MOUSEBUTTONDOWN event
2013-09-23 12:21:21 -05:00
cmf028
7d83bba2d0 Set com_minimized to 0 when the window is restored 2013-09-23 12:21:21 -05: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
81909bb266 Fix text getting appended to vid_restart in command buffer
I was getting unknown command "vid_restart-button2" warning on OSX when trying to use alt-return to toggle fullscreen.
2013-08-03 17:40:50 -05:00
Zack Middleton
30fcabec65 SDL Mouse Button clean up
Make 'b' variable an int so that key values more than 255 will work (not currently an issue in ioq3 afaik).
Use SDL_BUTTON_* for easier transition to SDL2.
(SDL2 doesn't have SDL_BUTTON_WHEELUP or SDL_BUTTON_WHEELDOWN, X1/X2 are different values.)
2013-07-09 14:41:56 -05:00
Tim Angus
42586b782b Improve console key situation 2013-01-21 22:20:15 +00:00
Tim Angus
aaea838d39 Convert SDL text input to UTF-32 2013-01-19 21:35:09 +00:00
Tim Angus
61ed67bd1a Make the mousewheel work 2013-01-17 19:04:27 +00:00
Tim Angus
f478761e07 Use SDL 2 instead of SDL 1.2 2013-01-17 18:20:03 +00:00
Zack Middleton
fb1f629bbc Removed unnessicary "!!". 2012-06-01 19:49:07 +00:00
Zack Middleton
021ce233b2 #5484 - Remove unneeded tr_local.h include from sdl_input.c. Patch by Harley Laue. 2012-04-04 17:16:11 +00:00
Zack Middleton
7a1efc19a4 Support up to 16 joystick axes, select which to use with j_*_axis cvars. 2012-02-15 18:26:08 +00:00
Zack Middleton
4113f63a63 Changed the joystick axis to key remap to start at K_JOY17 (fits better with hat_keys and K_JOY16 is used by button). 2011-09-09 21:46:37 +00:00
Zack Middleton
a87b059ab7 Don't grab mouse till UI loads. 2011-08-05 19:47:33 +00:00
Thilo Schulz
40dfcee06e Modular rendering system. Patch by use.less01
This might break MSVC builds. I'll take care of it later
2011-08-01 01:19:55 +00: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
c95bd0a684 Remove newlines from Com_Error message format strings, patch by DevHC 2011-05-12 14:02:48 +00:00
Thilo Schulz
9541fca878 Add better support for analog joysticks, patch by use.less01 2011-04-19 13:26:15 +00:00
Thilo Schulz
6b82f4fd09 Consider key states before startup, patch by Zack Middleton (#4950) 2011-04-17 22:09:05 +00:00
Thilo Schulz
bce3848523 Make buffers for device lists a bit longer. Just in case. 2011-03-11 13:53:22 +00:00
Thilo Schulz
37727b892c Rename cvar "in_joystickThreshold" to "joy_threshold" as QVMs use the latter name. 2011-03-08 02:14:39 +00:00
Thilo Schulz
dd0161f475 Add in_availableJoysticks to list usable joysticks, similar to s_alAvailableDevices. Some parts of the patch provided by Zack Middleton 2011-03-07 22:56:03 +00:00
Thilo Schulz
fef4d12d68 Refactoring patch by DevHC 2011-03-05 19:20:37 +00:00
Tim Angus
005f870ebe * Sys_Dialog for more user friendly error reporting
* (bug #3932) Recovery from bad video settings
2010-02-15 16:20:33 +00:00
Ludwig Nussel
6f9b34ef75 avoid setting cvars by name each frame 2010-01-06 13:47:41 +00:00
Ryan C. Gordon
b096ca1d04 Allow optional window resizing.
Fixes Bugzilla #2844.
2009-09-14 22:07:34 +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
56972c5c69 * Update IN_IsConsoleKey so that specifying ascii values/characters for the
console key always results in the character being used as opposed to the key
2008-08-30 19:29:34 +00:00
Tim Angus
19eb906706 * Better condition to test whether to use the character or the key 2008-08-28 23:08:54 +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
36a43f2aa1 * Handle dead keys more gracefully by taking a "best guess" rather than ignoring
completely
* When activating or deactivating the mouse flush any pending motion events;
  this should stop the view moving unpredictably in these circumstances
* Add keyname completion to "unbind"
2008-08-25 21:15:25 +00:00
Tim Angus
acbf982689 * Don't set SE_KEY event to ctrl-h; I don't think this makes sense
* Don't warp the mouse on deactivation unless the cursor is in the window
  already; this fixes in_nograb
* Stop grabbing the mouse in windowed mode when there is no sense in
  doing so
* Make sure that IN_Restart is only called on r_fullscreen modification
  if a mode change actually takes place
2008-08-22 22:16:37 +00:00
Tim Angus
e4e0568641 * Really fix backspace on OS X (I hope) 2008-08-22 11:41:54 +00:00
Tim Angus
c1befbda75 * Prevent ~ from generating a character
* Fix backspace on OS X (I hope)
2008-08-22 11:16:35 +00:00
Tim Angus
5b4dc4c743 * Tidy up the keyboard code a bit, add in_keyboardDebug 2008-08-19 21:32:23 +00:00
Tim Angus
c29417b42a * Always show the mouse cursor when the mouse is disabled
* Rename IN_StartupJoystick to IN_InitJoystick, add IN_ShutdownJoystick
* Add IN_Restart, which avoids calling IN_DeactivateMouse at the wrong time
* Call IN_Restart when changing r_fullscreen
* Add CVAR_ROM r_sdlDriver for easy checking of the SDL driver in use
* Random README tweaks
2008-08-09 13:20:00 +00:00