This is a USB keyboard plugin written (mostly) in VB.Net with code largely ported form PCSX2's USBQemu, USBNull and jackun's USBQemu-wheel plugins.
Why did I do this
I got the idea to do this from this thread link where the OP said they wanted to write plugins and was asking what language to use.
After looking into the possibility of writing plugins using VB, I found that it was indeed possible and decided to port the existing plugin to VB.net (so far, only the Keyboard code).
I've also modified the code in an attempt to fix/improve features.
Changes made (up-to v0.1)
Defaulted to Keyboard inserted, it's the only thing I ported anyway.
Attempted to handle DMA errors that would otherwise crash the emulator.
Properly support the SET_IDLE command for keyboards, this was needed for games to auto-repeat keys.
Add support for SET_REPORT, (set LEDs) and display their status in the console.
Have Right-control enable/disable keyboard capture (in case you also use your Keyboard as the controller).
Known issues
RawAPI mode stops receiving inputs if lilypad (and possibly other plugins) is configured without pausing the emulator.
RawAPI mode cannot be used if lilypad is set to capture keyboard input using Direct Input for keyboard capture.
Source
On GitHub
Padnull
Attached as conflicts where reported between this plugin and lilypad.
Change-log
V0.2: Now supports save-states
V0.3: Initialisation Changes, RawAPI Support, Ability to translate Key Inputs to equivalent Japanese Layout Keyboard and Recoded the configure GUI
V0.4: Adjusted RawAPI mode to work better with Lilypad's RawAPI keyboard capture.
V0.5: Adjusted RawAPI mode to work better with Lilypad's RawAPI keyboard capture (again). Other code changes.
V0.6: Lots of Under the hood changes, Fixed console logging in PCSX2 1.4.0
v0.7: WINE support, revert to .net 4.0, Raw Input code clean-up
v0.8: 64bit support
Why did I do this
I got the idea to do this from this thread link where the OP said they wanted to write plugins and was asking what language to use.
After looking into the possibility of writing plugins using VB, I found that it was indeed possible and decided to port the existing plugin to VB.net (so far, only the Keyboard code).
I've also modified the code in an attempt to fix/improve features.
Changes made (up-to v0.1)
Defaulted to Keyboard inserted, it's the only thing I ported anyway.
Attempted to handle DMA errors that would otherwise crash the emulator.
Properly support the SET_IDLE command for keyboards, this was needed for games to auto-repeat keys.
Add support for SET_REPORT, (set LEDs) and display their status in the console.
Have Right-control enable/disable keyboard capture (in case you also use your Keyboard as the controller).
Known issues
RawAPI mode stops receiving inputs if lilypad (and possibly other plugins) is configured without pausing the emulator.
RawAPI mode cannot be used if lilypad is set to capture keyboard input using Direct Input for keyboard capture.
Source
On GitHub
Padnull
Attached as conflicts where reported between this plugin and lilypad.
Change-log
V0.2: Now supports save-states
V0.3: Initialisation Changes, RawAPI Support, Ability to translate Key Inputs to equivalent Japanese Layout Keyboard and Recoded the configure GUI
V0.4: Adjusted RawAPI mode to work better with Lilypad's RawAPI keyboard capture.
V0.5: Adjusted RawAPI mode to work better with Lilypad's RawAPI keyboard capture (again). Other code changes.
V0.6: Lots of Under the hood changes, Fixed console logging in PCSX2 1.4.0
v0.7: WINE support, revert to .net 4.0, Raw Input code clean-up
v0.8: 64bit support