Commit Graph

33 Commits

Author SHA1 Message Date
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
goyuken 47b1e3ae49 I AM MASTER OVER DOG 2014-04-16 02:11:22 +00:00
goyuken 9730d06a46 preliminary moose support 2014-04-16 01:47:37 +00:00
zeromus b7a053f7da dont allocate keystates repeatedly in input code (use `ref keystate`) instead 2014-01-30 04:35:35 +00:00
adelikat 7b03fc0bc0 Move Buffer.cs and Util.cs from BizHawk.Emulation to BizHawk.Common, and add 1234832983 usings 2013-11-04 00:36:15 +00:00
adelikat 589758f74d rename GlobalWinF to GlobalWin, yeah, I'm being nitpicky 2013-11-03 16:07:58 +00:00
adelikat c669680e07 Rename Multiclient folder 2013-11-03 04:05:56 +00:00