Open GoogleCodeExporter opened 8 years ago
Hey Fab, can you open your libusb download and go to \bin\inf-wizard.exe? Run
that against the device and then post that as an attachment. That will help me
determine what is wrong.
Thanks!
Original comment by ryan...@gmail.com
on 27 May 2013 at 4:38
Just ordered a chatpad to use with this driver, just a question: is it possible
to install this driver to a separate USB-port while having the official driver
on another USB-port so you can shift between them? As I understand this driver
does not support voicechat via the xboxcontroller-mic so would be nice to be
able to switch when wanting voicechat. Thanks for the driver btw, been looking
for something like this to do some mmo-gaming for some time now :D Keep up the
good work!
Original comment by gra...@gmail.com
on 28 May 2013 at 10:50
You will not be able to install the office driver and this driver at the same
time. That was what I have been working on but have hit a dead end. I will look
into supporting the mic.
Original comment by ryan...@gmail.com
on 2 Jun 2013 at 4:21
Thanks for the answer, would be awesome if you could get the mic to work :)
Original comment by gra...@gmail.com
on 2 Jun 2013 at 10:03
I'm having trouble figuring out how to get this to work, can someone post a
guide that is step by step?
I know how to go into device manager and remove my current controller, but
after that I feel like something goes wrong because the neither the chatpad nor
controller work after trying to set it up.
Is anybody willing to make a step-by-step install guide for the less
technically inclined?
Original comment by MailboxJ...@gmail.com
on 6 Jun 2013 at 4:27
to anyone currently working on the chatpad drivers. it seems that people have
mentioned that a big problem in development is that the microsoft drivers are
not open source, so it is difficult to get the regular functionality of the
xbox controller in games with additional chatpad support. has anyone considered
trying to implement their chatpad code into some of the alternative drivers
(that are open source) that are already out there, for example, XBCD
(http://www.redcl0ud.com/xbcd.html) or the wireless derivative x360wc?
(http://lavendy.net/special/driver/x360wc/index.html)
Original comment by tom.hong...@gmail.com
on 7 Jun 2013 at 7:26
The fact that the Microsoft driver is not open source is a issue but it is not
the issue. Basically Microsoft and their preferred vendors have access to the
XInput SDK. I will check but both of the drivers below are probably utilizing
DirectInput, just as my driver does (through the additional joystick driver).
Even if they were somehow using XInput, I could not legally, as it is licensed
directly from Microsoft, so there is no open source implementation of an XInput
based joystick.
The other issue is that filter drivers can only be applied on the wired
joystick, not the wireless control box. I still haven't figured this out, but
I'm pretty confident at this point that this assertion is correct.
Original comment by ryan...@gmail.com
on 7 Jun 2013 at 1:49
@ryan #107
You could code the xinput functions but not include any dll. Then tell people
to get them from the xbox 360 drivers.
as well keeping the other joystick driver as a second option.
Original comment by x1800mod...@yahoo.com
on 12 Jun 2013 at 10:17
It doesn't really work that way. I can't code any of the XInput functions. I
don't know them, they aren't documented except in the SDK (which is not
available), and I can't pull anything out the Microsoft drivers.
I honestly can't think of a feasible way to accomplish any of this. Not trying
to be difficult, just being realistic. There might be away but if there is, it
is beyond my abilities.
Original comment by ryan...@gmail.com
on 12 Jun 2013 at 10:35
@ryan #107
how much would it cost to "buy" the SDK,
maybe we could donate for that :)
Original comment by jonnyrim...@gmail.com
on 13 Jun 2013 at 4:24
Count me in for a donation.
This Project is to good to stop at this point.
Original comment by philipp....@gmail.com
on 13 Jun 2013 at 5:37
#109
If your application is in c# there is a dll called xinputdotnet which defines
all but two ordinals. Thus can be used to do the xinput for the game
controllers.
Original comment by x1800mod...@yahoo.com
on 15 Jun 2013 at 8:10
I'm having some issues with the install. When running install-filter-win it
won't detect the receiver, only inf-wizard recognizes the "Unknown device". Am
I supposed to have the official driver installed before installing everything?
I managed to get the chatpad working when selecting a "USB Composite Device" in
install-filter-win and installing everything else but then the vJoy config
settings wouldn't stick and in games the controller acted as though the left
stick was continually rotated. Some more detailed instructions of how to
install would be much appreciated :)
Original comment by gra...@gmail.com
on 15 Jun 2013 at 2:31
Thanks for the post x1800, I hadn't seen that wrapper. Though I am not sure it
changes my mind. Wrapping a proprietary, licensed solution with a dll that just
exposes that same functionality is violating the license of the original
Microsoft APIs. I will review the code and see how it was implemented, but my
gut is saying to stay away. Anyone else can feel free to add this code to their
driver, as it looks like it would work. But for now I need to do more research
before I feel comfortable with this approach.
Also I appreciate everyone offering to donate to the driver to purchase the
SDK, but that isn't really possible. As I am aware only a few vendors have
access to this SDK. It would take not only a lot of money (and probably a cut
of sales) but also a close relationship with the team at Microsoft responsible
for the SDK.
Original comment by ryan...@gmail.com
on 15 Jun 2013 at 3:54
#114
You can code the application, but not include the xinput.dll
that is not violating anything, as no copyright content is not included in the
application.
but the user can get it from the driver folder.
Original comment by x1800mod...@yahoo.com
on 17 Jun 2013 at 12:36
I'm pretty sure x1800 is correct in stating that you can leverage the use of
the xinput.dll with your own application, as long as you do not include it any
any supplied download.
There are many free and paid wrapper programs that do just that, even going as
far to auto download (requires users confirmation) any additional software from
other vendors site if the required dll's cannot be found.
As with everyone else, I've spent many, many years with one eye on chatpad
drivers progress. I'd be more then happy to throw money your way even for a
compiled wrapper that works with the base driver and allows the chatpad to just
work. It's like the Holy Grail for me personally. Be it Paypal, kick starter,
I'll be there. Now I know taking money can be daunting as I understand if you
can't deliver, the villagers more often then will drop their praises for pitch
forks and fire at a drop of a hat.
So if I may suggest, you could just chuck a guide or two up onto YouTube on how
to compile your code (instructions and links to your blog) monetize your
YouTube account and add a few Google ads to your blog site. With the 1000's
upon 1000's of people over the years chasing something like this, it wouldn't
take long to get a few bob in your pockets. Just food for thought.
Anyway, haven't had a chance to try the alpha yet myself (found your stuff late
this evening) will try to have a play with it after work tomorrow :)
Keep up the good work :)
Original comment by byte...@geekonym.com
on 18 Jun 2013 at 10:38
Hi! Thank u for this driver Ryan, it´s working almost perfect! I´d like to
ask u two questions:
- Is it possible to start your program minimized as a tray icon? I´ve tried a
few things and I couldnt make it work.
- vJoy seems to send the left joystick bottom right until the gamepad is on, so
xpadder is moving my pointer to that direction when the computer starts (right
trigger is always working too). After turning the gamepad on, vJoy starts
working as expected, u can even turn off the gamepad and it works well. Is
there any way to fix this?
(I´ve thought it could be fixed by running xpadder when you turn the gamepad
on, maybe through task manager with "some" windows event as a trigger)
Any help would be highly appreciated.
Anyway, thank u anyway, I´d never thought I could use the chatpad :)
Original comment by asi.albe...@gmail.com
on 18 Jun 2013 at 8:31
In my case only "Disable Controller" button works. Any other pad key is not
responding. Any ideas what I do wrong?
Original comment by mchejter...@gmail.com
on 22 Jun 2013 at 11:53
No luck on getting the XInput wrapper to work. It is effectively the same
problem. The XInput wrapper requires a driver, which in this case would be the
Microsoft driver. But since I can't run a filter driver without killing the
Microsoft driver, I am stuck at the same point. Basically the XInput wrapper
works great to grab the gamepad events assuming the Microsoft driver is
installed, but since XInput doesn't define a way to grab chatpad events that is
not part of the wrapper, hence I still need my filter driver active to capture
the chatpat, which breaks the controller driver. Not seeing anyway around this.
Ultimately this dll is a programmatic way to access the Xinput functionality
(which I can do native in C# anyway), its really not much different than using
slimdx or something similar to grab the events for game development. My problem
isn't grabbing the events, it is relaying them as native gamepad events (which
works great for the XInput controller, or the chatpad, or a generic controller
and chatpat, but not both an XInput controller and chatpad at the same time).
I'm really back at the same place, without a working filter driver this can't
be done.
I'm no expert on this, so feel free to disagree and point me in a different
direction. Now if you could provide something that allows me to register the
device driver as an XInput device, like the Microsoft SDK would allow, then I
could do it. This driver just wraps the open XInput functions, it doesn't allow
registering a new XInput driver.
I appreciate the creative ideas on funding, but I'm not in this for money. I
don't care or want to make a few thousand bucks off this driver, I just want it
to work so I can use it. But I'm at a dead-end right now, and until I come up
with another approach, I moving back to game development, at least there I can
make progress :)
Original comment by ryan...@gmail.com
on 29 Jun 2013 at 5:04
Been looking into this for a few weeks and have installed Ryan's alpha with
marginal success on a couple machines.
Only issue I'm having, occasionally a key press on the chatpad will register
twice. This is seemingly random, but effectively break the usage.
I've looked through the source code, but can't really identify the root cause
of this issue. I've got a decent background in C/C++/C# and am willing to help
on this driver in whatever capacity, but I guess I'm not really sure where
problems other than the double-tap are.
Original comment by ksbarnes@skyag.net
on 29 Jun 2013 at 7:58
Naturally, 5 minutes after posting a comment I realize I skimmed over the
chatpad handling logic in the source to quickly and noticed where the timer is
implemented for keystrokes. I've never really worked on a driver so I'm
curious, why is the timer necessary? Is there no other "hook" in the buffer to
latch onto instead?
Original comment by ksbarnes@skyag.net
on 29 Jun 2013 at 8:09
Good question, I'm not very well versed in drivers so this could be wrong. The
problem wasn't really one of hooks, it is relatively easy to get each
individual signal and process it, my problem was that without direct access to
the hardware I don't know when the button has been released.
Basically every time it polls the device it gives me the current status. For a
button that is on or off. I don't track the state of all buttons, so I don't
know if a button has been released. I started down that road but noticed there
were times where I would hit a button twice quickly, but never received the off
status code. So while tracking the buttons these quick presses were missed.
You really need to use two different metaphors for the controlls and buttons,
because as long as a control (direction or axis) is pressed on the control you
want to send an event, but with the chatpad you only want to respond to a press
event. I just couldn't different a press event from a new polling cycle. In a
normal application you could hook into up, down, press events but through the
filter driver you just get a signal.
Now that I am typing it out it does seem like storing chatpad state would solve
this, but I swear I tried that. This is why it is difficult to program alone,
you never get to talk through the issues with anyone :)
Original comment by ryan...@gmail.com
on 30 Jun 2013 at 12:07
This territory is sort of new to me so I haven't gotten to a point of getting a
dump of the buffer to just browse and see what's there, still tweaking with
your code to explore. :)
It's interesting that you wouldn't receive an "off" code in the next poll, I'm
curious if there's some other code the is transmitted either on a per button
basis or otherwise.
For those with a similar problem as mine, raising the timeout to ~150
milliseconds fixed my issue pretty well, of course you'll need to re-compile.
Original comment by ksbarnes@skyag.net
on 30 Jun 2013 at 12:20
For what it's worth, I seem to recall having this sort of problem on the
chatpad when working on the wired controller as well. I seem to recall that if
you pressed buttons quickly, or even if you were just unlucky, you might get a
double press or possibly no "off" code which could make state tracking not work
correctly. I seem to remember normal cases might have two codes anyway, and
maybe that was to allow better handling. Regardless, I thought that the actual
Xbox 360 supposedly doesn't have any problems with double presses at all, so I
don't know if there's some issue with the Windows driver that I was filtering
and the USB device setup, or what.
Original comment by gtsche...@gmail.com
on 30 Jun 2013 at 3:54
This may be useless information but, linking it anyway:
http://cliffle.com/project/chatpad/protocol/
Now, I've noticed the actual key mappings don't line-up with what is currently
in Ryan's code, likely due to going through the controller/receiver. I think
the bigger take-away is that the status message contains only up to 2 key
presses simultaneously, at bytes next to each other.
I'm wondering, when you were doing state tracking, did you track based on both
byte's? (in the example linked, it would be Byte's 4 and 5)
Original comment by ksbarnes@skyag.net
on 2 Jul 2013 at 3:49
Not really sure, I do track both byte's and register them, you need to for the
shift key. But I don't remember how I was tracking them :)
Original comment by ryan...@gmail.com
on 3 Jul 2013 at 3:46
My latest attempt incorporated some lessons learned after browsing Brandon's
uDraw source regarding the chatpad keystroke detection. He uses a
state-tracking mechanism which hasn't given me problems so far. Very fluid,
reliable keystroke detection.
There seems to be 3 bytes that have to be tracked to parse out chatpad events,
25-27. The modifier is byte 25 (green, orange, shift, messenger). 26/27 are
possible keystroke events.
The only other major difference I've got in my source is the use of a
background worker thread for keep alive events, instead of the forms thread.
Not sure if this helped anything aside from making the Form a bit more
responsive on lower-end machines, like my Dell Mini 9.
I find myself with a somewhat hybrid software between Ryan's and Brandon's. If
anyone is interested, I'd be happy to post online somewhere, but it's very much
test-only, use at own risk.
I've got a bunch of little things I'm planning to tweak for now, repeating
keystrokes when held (pressing backspace a bunch is annoying), some processing
optimizations, and packaging.
I don't plan on taking on the Xinput joystick problem for now, as I believe
Ryan's assessment is accurate, it's a very difficult if not impossible task.
Motioninjoy has seemingly made an Xinput emulator, and I think I saw another
library that may have done the same thing, but I can't get at the source for
either; it's difficult to incorporate with a vJoy feeder.
I'll probably be working on this for the next month and a half or so, as my
original goal is to have a working wireless controller/chatpad for FF14 ARR. :)
Original comment by ksbarnes@skyag.net
on 3 Jul 2013 at 1:05
Hi,
Im also looking for this kind of controller for FFXIV ARR.
I tried Ryan's driver but Im having some difficulty...
XBox360 controller connect well when I launch the executable, but I can only
disable it from there, none of the button works.
I send you my "LibUsbTest" and my last "error.log"
Thanks and good luck !!
Original comment by herve.du...@gmail.com
on 3 Jul 2013 at 5:38
Attachments:
I've created a project with my version of the driver at the following:
https://code.google.com/p/xbox360wirelesschatpad/
Feel free to test it out, submit issues, etc. I think it's at the point where
I'm comfortable with it, but I'll fix any reported issues the best I can.
Thanks Ryan and Gtsche for the work you guys have done!!
Original comment by ksbarnes@skyag.net
on 4 Jul 2013 at 4:20
holy shit this finally works perfectly, exactly how i wanted it, my old xpadder
map works perfectly with this. i can not thank you enough.
Original comment by tommcnam...@gmail.com
on 4 Jul 2013 at 6:01
thankyou soooo much, everyone
Original comment by tommcnam...@gmail.com
on 4 Jul 2013 at 6:02
Nice work, skyag87 :)
Original comment by gtsche...@gmail.com
on 4 Jul 2013 at 5:27
Finally a real programmer comes in and saves the day :) nicely done!
Now if only we could get Microsoft to pony up an XInput SDK license ;)
Original comment by ryan...@gmail.com
on 4 Jul 2013 at 5:40
[deleted comment]
OK as Win8 X64 User, Skya's driver works the best for the Gamepad side of
things, but only lights for the chatpad. Ryan's Driver/App 100% chatpad working
fine and loving it, but Gamepad is all over the place. Playing with the
JoystickMappings.xml to see if I can it running a bit smoother.
Original comment by byte...@geekonym.com
on 5 Jul 2013 at 2:50
Have any (win7 32) HTPC users found a way to use one of these solutions and get
the wireless controller with chatpad working as a mouse/keypoard? I've been
using Xpadder for years but as soon as I fire it up with skya's solution the
mouse drifts to a corner. Works fine with stock MS driver vs. libusb, but then
no chatpad. Tried cranking deadzone to 99% in Xpadder and it still does it.
So close... :-)
Original comment by paul-rim...@ronin-tech.com
on 6 Jul 2013 at 7:56
Windows 8.1; got my chatpad working finally fine with Ryan driver, still
testing it in ffxiv a realm reborn. I will be happy to use the headphone too.
Original comment by herve.du...@gmail.com
on 7 Jul 2013 at 2:28
@Herve: Is your chatpad and gamecontroller fully functional in Windows 8.1 and
how did you do it? I'm also trying to get it to work in Win 8.1 to play FFXIV
but with Skya's driver I only get some controller functionality and only
chatpad backlight and with Ryans driver it works for the chatpad but not
controller. Are you using Windows 8.1 64-bit? Would be great if you could
explain in a little more detail how you got it to work, thx :)
Original comment by gra...@gmail.com
on 7 Jul 2013 at 9:42
For those that have attempted my variant of this driver, please check out the
latest version at the following:
https://code.google.com/p/xbox360wirelesschatpad/
I believe a large issue with the Chatpad not working has been resolved, and
more importantly the Capslock key finally works :)
Also, to the FF14 ARR players, I was able to test my driver during the Beta
this weekend, and noticed that a lot of the buttons are simply incorrectly
mapped. I didn't have time to look into this until after the Beta closed, but
I'll try taking a look at it next weekend. I think I can get everything working
properly, but the Right analog stick will be interesting.
In reality, I'm not sure how much I want to tweak specifically for that game
with the driver. Once Beta 4 hits (within a month), I've heard we'll be able to
actually customize our control scheme. It would be better overall to handle the
game-specific customization there, assuming they work as I expect. If not, I'll
try my hardest to find a way to support it, the only reason I started tweaking
with this project was for that game's launch :)
Original comment by ksbarnes@skyag.net
on 7 Jul 2013 at 10:47
[deleted comment]
It works great when I first tried it. The caps-lock didn't work. But the
keyboard didn't work until now.
It seems to crash alot. The application that is. Now it's not working for me.
Don't know what I'm doing wrong
Original comment by siggi...@hotmail.com
on 7 Jul 2013 at 11:00
Hmm, could you please post an issue detailing your problems at the following:
https://code.google.com/p/xbox360wirelesschatpad/issues/list
It's easier to track and I feel like we've all hijacked this thread enough,
don't want to use this as a master issue list.
Original comment by ksbarnes@skyag.net
on 7 Jul 2013 at 11:06
Fixed! :-) When I went into xpadder properties I saw the Joystick Control
Panel which let me calibrate vJoy. Now all is well. Thanks! You'd think the
vJoy configure utility would let you do this as that's one of the first places
I looked.
Original comment by paul-rim...@ronin-tech.com
on 12 Jul 2013 at 4:58
Skya (skyag87),
Not sure how relevant this to development of this driver - but I found this ( http://nirklars.wordpress.com/xboxmouse/ ) accidently while searching japanese/chines sites for other drivers in deveopment that I could share here.
It's basically a well polished program to use the xbox as a PC mouse. Again... not sure how relevant it is...
Original comment by dtooker2...@gmail.com
on 13 Jul 2013 at 8:03
Hi, first of all congratulations for this achievement. May be I am a little
lost here, but as I understand the only problem with Skya's approach is the
fact that Xbox 360 controller is not detected as such anymore. I'm sure I'm
pointing out the obvious, but wouldn't the solution for this be using that
famous XInput emulator which allows any generic DirectInput to be detected as
the Xbox 360 one to remap the "non-Xbox 360". It would work 1:1 for the keys
and sticks, so we do not loose default game key mappings. The only bad thing is
that we would have to copy/paste the emulator in every game binaries
directory... but seems a fair workaround.
Thanks again for such an amazing work!
Original comment by turiz...@gmail.com
on 14 Jul 2013 at 8:23
[deleted comment]
THANX GUYS!!!!! U ALL MADE MY MONTH!!!!!!!!
I've been waiting for this for years!!! Today I found a box full of my old
"CRAP" which included 1 generic Wireless XBOX 360 Receiver for PC and a Chatpad
that's Never been used..... so you know the lingo... Google "chatpad
drivers".... to my surprise somebody went ahead and made them!!!! U Guys!!!! To
my utter disbelief I installed it without any hassles and boom worked without
any issues.... then found old version of x360Ce on my old laptop, took some
time to get it configured... and boom again everything I wanted to do when I
bought this can play my games that support X360 controllers and map keys to
games that don't adding a full qwerty keyboard for extra key possibilities....
now I just need to create some macros to map to Messenger key.... Thanx for
making this possible guys!!!! Really thanx
Original comment by hardu...@gmail.com
on 17 Jul 2013 at 7:42
Just one question... Actually three.... Ok Just alot of questions.... How can
i create my own macro's to map to the keys on chatpad?
sure sometimes it just works as a keyboard but as soon as i use X360Ce the
chatpad becomes non responsive during games... but still work if i play in
windowed mode.
Can chatpad keys be configured as Extra buttons on a gamepad instead of qwerty
keypad, turning it into a 58 button gamepad? also something strange: The right
analog stick.... in certain games the Y Axis is inverted... and typically the
ones which don't offer an option to invert it... any ideas? also I used to own
a Xbox 360 wireless headset. will this still work if i can find it or does this
driver not support sound? just curious.... Thanks again i'm having a ball with
chatpad working...
Don't want to cause any unnecessary headaches but i'm just wondering....
Original comment by hardu...@gmail.com
on 18 Jul 2013 at 9:27
Any chance for a wireless chatpad driver that does not disable the official
xbox 360 controller driver (or at least have a 1-click way to switch between
the two)?
Original comment by Sli...@gmail.com
on 23 Mar 2014 at 3:59
yeah mate.. disabling xinput is not real option for me.
appreciate the effort, but it's sort of worthless if i cant use xinput with
chatpad.
Original comment by Andrew.R...@gmail.com
on 20 Mar 2015 at 11:17
Original issue reported on code.google.com by
grum...@gmail.com
on 1 Jan 2013 at 8:24