Commit Graph

56 Commits

Author SHA1 Message Date
adelikat 0b57b4c5f6 cleanups 2019-12-22 13:58:00 -06:00
YoshiRulz 580aa2eaf9
Refactoring and cleanup of dynamic lib loading
Also fixed error reporting in WindowsLLManager, and fixed bug in
MednaDisc.CheckLibrary
2019-12-21 18:22:58 +10:00
YoshiRulz 7ea8fb185a
Congregate, organise, and cleanup some Win32 imports and their usages 2019-12-21 18:21:51 +10:00
YoshiRulz 8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup 2019-11-04 14:30:05 +10:00
adelikat e4e10646bf Merge branch 'master' into MoreUnixMonoCompatWork
# Conflicts:
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Common/BizInvoke/MemoryBlock.cs
2019-11-03 16:09:22 -06:00
adelikat 942d9fc75e Simplify OS checks with some helpful methods 2019-11-03 16:04:42 -06:00
James Groom c6dff68981
Fix bug remaining after merge commit 2019-11-01 00:41:53 +00:00
adelikat 6c7653e158 Merge branch 'master' into MoreUnixMonoCompatWork
This doesn't compile because of Input.cs, didn't know what to do. Also search for Merge TODO for some commenting things that probably need to be deleted
# Conflicts:
#	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll.Drawing.cs
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
#	BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
#	BizHawk.Client.EmuHawk/tools/ToolHelpers.cs
#	BizHawk.Client.EmuHawk/tools/ToolManager.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs
#	BizHawk.Common/BizInvoke/DynamicLibraryImportResolver.cs
2019-10-31 17:01:19 -05:00
J.D. Purcell b0c7bab94e Fix small binding regression (tabbing into the first input widget could trigger a tab bind). 2019-10-20 14:42:14 -04:00
J.D. Purcell 23433b856f Hotkey/controller config: Fix issue where input events get queued and processed by the main form after the dialog is closed. For example if you opened the hotkey config, typed "-" in the search box, and closed the dialog, it would trigger Decrease Speed in the main form. Also redo an old hack fix the right way. 2019-10-20 13:47:22 -04:00
J.D. Purcell 09314bdeda Add readonly keyword. 2019-10-20 11:06:39 -04:00
J.D. Purcell 1fadcb97f2 Misplaced this in last commit. 2019-10-20 01:43:08 -04:00
J.D. Purcell a2215fb5df Fix AppVeyor build. 2019-10-20 01:24:28 -04:00
J.D. Purcell b01f52c01b Ability to handle alternate keyboard layouts (e.g. Dvorak). Optional and off by default for now due to its experimental nature. Closes #1584 2019-10-20 01:16:27 -04:00
J.D. Purcell 33d9b08e39 Cleanup 2019-10-19 21:17:47 -04:00
J.D. Purcell 4eea88a988 Hotkey Config: Fix when binding key combination if the modifier is released first (e.g. Ctrl+C with Ctrl released first). 2019-10-19 20:51:04 -04:00
J.D. Purcell 4ed50200c8 Some cleanups in Input.cs 2019-10-19 17:50:24 -04:00
J.D. Purcell 6504387302 Option to accept background input only from controller. Closes #1396. 2019-10-13 19:49:24 -04:00
YoshiRulz 4e5b763c38
Reenable OpenTK gamepad functionality 2019-10-07 03:08:41 +10:00
YoshiRulz 58c738957c
Rename PlatformLinkedLibSingleton and children 2019-05-18 15:40:46 +10:00
YoshiRulz d76e1a8a8b
Refactor PlatformLinkedLibSingleton and replace RunningOnUnix with CurrentOS 2019-05-18 15:30:29 +10:00
James Groom 779975f689
Use nameof 2019-03-28 14:17:14 +11:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
James Groom 42764f0019 Add preliminary Unix compatibility (using Mono; resolves #1384) (#1380)
* Move PlatformSpecificLinkedLibs and implementations to common and rename
* Specify file ext. at LoadPlatformSpecific call site
* Move Client.Common.Global.RunningOnUnix to PlatformLinkedLibSingleton
* Inline var Resolver
* Use PlatformLinkedLibManager internally
* Move plugin load check to LinkedLibManager, use LinkedLibManager
* Interpolate
* Return exit code from dlclose/FreeLibrary
* Skip all calls to externs in BlipBufDll when using mono
* Use PlatformLinkedLibManager in SevenZipLibraryManager
* Add expected return value to workaround (from testing on Win32)
* Remove ".dll" from DllImport attr, remove temporary workaround, see desc.
The library can be built by changing the output file name in
`.../blip_buf/Makefile` to `libblip_buf.so`, and running `make`. It will be
loaded if placed in the `.../output` folder.
* Remove unused code, add TODO (this class is req. for Waterbox.PeWrapper)
The TODO is to [rewrite with
C#](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files)
instead of importing from `kernel32.dll`.
* Update OpenTK again but better (for #1384)
* Add Mono run script
* Add libblip_buf.so (temporary)
Temporary because it should be a separate package which BizHawk depends on.
* Add distro detection, add "already running" and "unknown distro" messages
* Gray-out Lua Console on Unix
* Extract superclass from EmuLuaLibrary, add shell implementation for Unix
* Specify libdl version, Fedora doesn't have the versionless symlink
* Remove empty `ToolStripMenuItem`, null `Text` caused crash on Unix
* Transform OpenTK keyboard input into a `List<KeyEvent>` and read that
Also fixes crash on rebind
* Remove debug `using ...;`
2019-01-04 01:50:55 +03:00
James Groom ca021d96cc Allow bizhawk to be built and run w/ MSBuild and Wine+Mono on GNU+Linux (#1237)
- Update to latest OpenTK, add input code from `mono-stable` branch
(kudos), and fix bugs arisen from version differences
- Move some functionality into Win-specific classes and add Wine+Mono
implementation where simple
- Add conditions to main loop so some things only run on Windows
2018-11-04 20:05:20 +03:00
zeromus c1a6a16bb1 fix xpad triggers to actually be useful? I dont know if they ever were before. Triggers are like halfs of axes, but our whole input system isnt built to handle halfs of axes; so with this, I make them appear to be whole axes in a -1..1 range. 2018-05-03 15:02:24 -05:00
zeromus 18d46630bc allow binding xpad triggers as analog controls. fixes #1054 2017-11-12 23:22:36 -06:00
zeromus ee7b0bf20c i dont think the xinput joystick->direction mappings sensitivity was right. made them less sensitive. 2017-07-19 16:50:05 -05:00
zeromus 60b9825f64 fix race condition in test of active window from input thread (which was a bad idea in the first place) which can throw null references in unlucky cases (fixes #917) 2017-07-15 22:09:50 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
J.D. Purcell 1096e1bc5a Small improvement to previous commit. 2017-04-08 12:40:31 -04:00
J.D. Purcell a2aba7e3c2 Make sure DirectInput objects are disposed properly. Also includes a better fix for thread safety issues (#722). 2017-04-08 11:49:04 -04:00
adelikat 82fa40dfc8 Quick fix to #722 (I think) 2016-10-31 13:31:48 -05:00
zeromus 144f08cfc3 fix xinput > 2 devices, and change how xinput devices are numbered in configuration (by player number and not index-of-connected-xinput-device-plus-one) 2016-03-21 01:01:36 -07:00
Isaac Miell 259b8eaeb9 Fix #561 2016-01-28 03:45:22 +10:30
zeromus 35066b69ef tastudio - fix behaviour of menu by special hacks involving ALT key 2015-12-05 11:32:56 -06:00
zeromus c99cc7fa2a fix #484 2015-08-31 14:50:26 -05:00
zeromus 109ee3981b support xpad guide button 2015-08-24 15:05:06 -05:00
zeromus 3cbea04448 fix error in IPCKeyInput 2015-08-14 19:10:55 -05:00
zeromus aa8b87129b add IPCKeyInput, since we chose to use dinput for keys, so people can send input to the process somehow. way easier and safer than changing to use win32 keystroke messages 2015-08-14 18:07:19 -05:00
jdpurcell 09c6072082 Issue 288: Fix two crashes in single instance mode. 2014-12-29 04:20:47 +00:00
zeromus 0d674308b9 check for existence of xinput1_3.dll before calling on the slimdx code to attempt using it 2014-07-23 06:52:04 +00:00
zeromus c45bd306bf revert part of r7059 cosmetic refactorings which probably broke xinput on some systems 2014-07-20 20:01:21 +00:00
adelikat ab5cfab035 remove redundant code throughout the emuhawk project 2014-06-29 02:28:48 +00:00
zeromus 48360f77be 2014-06-23 01:20:17 +00:00
zeromus 140aec6a4d add system for controlling which forms can generate mouse input 2014-06-22 23:20:36 +00:00
goyuken c87abe9503 fix analog axis names for xinput controllers 2014-05-16 14:43:56 +00:00
zeromus b4db548e94 remove lame console spam 2014-04-27 01:20:53 +00:00
zeromus c5027b1df6 fix new bug with modifier keys being sticky in the binding dialogs 2014-04-22 20:26:55 +00:00
zeromus 39ec2ebc90 use buffered mode for keyboard input, so that it is impossible for quick keystrokes to get missed. also increase priority of input thread. 2014-04-20 03:38:03 +00:00