Kytech / xbox360wirelesschatpad

Xbox 360 Wireless Chatpad for Windows
Other
79 stars 9 forks source link

Remapping buttons for gameplay? #32

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 9 years ago
ive got this chatpad to work (amazingly by the way) but now id like to game 
with it (skyrim specifically)

is there a way to configure the controller with vjoy for each command id like 
to do? or should i use another controller program to do so? if so which is best 
recommended? thanks!

c

Original issue reported on code.google.com by Communis...@gmail.com on 14 Mar 2014 at 3:59

GoogleCodeExporter commented 9 years ago
I would also like to know this. I really just wanted the chatpad stuff to use 
the controller as a mouse/keyboard for when i have my pc hooked up to my TV. 
Would be nice to change it back to a controller easily so i can use it with 
gamepad enabled games.

Original comment by vbosc...@gmail.com on 21 Mar 2014 at 11:04

GoogleCodeExporter commented 9 years ago
@Communisaurus I would recommend using another program if your wanting to map 
vJoy buttons to different actions. This application is intended to sit between 
the controller hardware and the vJoy virtual gamepad; whereas I believe you're 
looking for something between the gamepad and the game itself.

@vbosch09 Is Mouse Mode (added since Rev24) not sufficient for your purposes? 
What else is missing? If its simple, I may be able to add it.

Original comment by ksbarnes@skyag.net on 26 Apr 2014 at 6:43

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
@vbosch09 We are planning on adding customized button mapping and I've thought 
of allowing for assigning different functions to buttons in mouse mode (ex. X 
can stop Y can pause/play in mouse mode) and you already can switch between 
mouse mode and gamepad mode by using the following key combo without needing to 
open the app window: LB + RB + Back Held for about 5 sec. until lights on 
chatpad flash (Green=Mouse Mode, Orange=Gamepad mode)

Original comment by kytechne...@gmail.com on 8 May 2014 at 10:17

GoogleCodeExporter commented 9 years ago

Original comment by kytechne...@gmail.com on 8 May 2014 at 10:37

GoogleCodeExporter commented 9 years ago
The issue I am having is that with all of this installed, the mouse/chatpad 
work great but when I want to game and turn the mouse mode off, none of my 
games recognize a gamepad is connected. 

Original comment by vbosc...@gmail.com on 19 May 2014 at 3:38

GoogleCodeExporter commented 9 years ago
Custom button mappings are being worked on. @Communisaurus Using Xpadder to map 
buttons to keyboard combinations should work fine. @vbosch09 Some games only 
support Xinput controllers so you can try using x360ce to work with that. If 
that doesn't work you can set the game controls to use keyboard and use Xpadder 
to add gamepad support. 

Original comment by kytechne...@gmail.com on 25 Jun 2014 at 3:49

GoogleCodeExporter commented 9 years ago
I dunno if this helps at all but I wanted to change a button in game 
configuration to do something outside the game.  The reason is that I needed to 
use TeamSpeak in FFXIV but with a controller I wanted it to be simple to do 
(i.e. something I could do WHILE doing other actions) so I thought that 
remapping L3 to something else could work (sinc in game this just makes you 
switch to first person view anyways which is useless).

So I change the code to send a backslash to the PC instead of L3 aka LStick to 
vJoy in Controller.cs.  Just leaving this here in case anybody else finds this 
useful as it's easy to do, this could EASILY be mapped to a GUI input to change 
the button to use (instead of hard coding) - was thinking about doing that but 
haven't really had time/reason to.

//vJoyInt.SetBtn((dataPacket[6] & 0x40) > 0, (uint)controllerNumber, 
buttonMap["LStick"]);
/////// BEGIN HACK FOR TS as L3 instead of sending to game
// Left POV Down (L3) Button - Change to Slash
if ((dataPacket[6] & 0x40) > 0)
{

    Console.WriteLine(dataPacket[6] & 0x40);
    Keyboard.KeyDown(Keys.OemBackslash);
    leftHatButtonDown = true;
}
else
{
    if (leftHatButtonDown)
    {
        Console.WriteLine(dataPacket[6] & 0x40);
        Keyboard.KeyUp(Keys.OemBackslash);
        leftHatButtonDown = false;
    }
}
/////// END HACK

Original comment by buck.jef...@gmail.com on 28 Sep 2014 at 5:36

GoogleCodeExporter commented 9 years ago
buck.jeffcott, that's an excellent idea. I'll see about adding options to 
configure button presses as keystrokes in the future. I'd thought of this for a 
future release and it sounds like people will use the feature.

Original comment by kytechne...@gmail.com on 28 Sep 2014 at 10:42

GoogleCodeExporter commented 9 years ago
no need to re-invent the wheel on the mouse issue, simply alow us to disable 
that feature so we can use xpadder.  xpadder works very well for that and is 
completely customizeable.  would much rather see work being done on other 
issues than this one.

Original comment by tsurc...@gmail.com on 1 Nov 2014 at 9:56

GoogleCodeExporter commented 9 years ago
This would be a great feature, glad to see it marked as 'started'.  I needed 
keys like F1, F2, etc so I changed the source to do that.  I use the Orange key 
as a modifier to allow that.  This was to work in Vice the C64 emulator.  This 
is the code I had to add (also used a different module to do the work).  It's 
been a while since I did this work, but I had to debug VICE to see why the 
normal way wasn't working.  I think it had to do with it being a lower level 
keyboard call.

WindowsInput.VirtualKeyCode vk = orangeMap[key];

if ( ( int )vk != -1 )
{   
    /* Need to do each discrete to add delay, without it some apps don't register keypresses */
    Debug.Write("Orange modifier: Sending keycode " + vk + "\n");

    InputSimulator.SimulateKeyDown(vk);
    System.Threading.Thread.Sleep(100);
    InputSimulator.SimulateKeyUp(vk);
}  

Also, how difficult is it to work w/ Xinput apps?  I know very little about 
this.  I noticed that none of the keys work in programs like MAME and MESS 
which I believe use xinput.

Can't thank you enough for all of your work on this!

Original comment by teleng...@gmail.com on 11 Jun 2015 at 2:55