Git Product home page Git Product logo

360controller's Issues

Memory/resource leak with ChatPad

I disconnect my 360 controller. When trying to unload the 360Controller kext via kextunload, it would say that two instances were in use. I found out when I don't have my ChatPad attached, it unloads fine.

Problems on OSX 10.7.5

Hello, I tried installing v0.13.1 but got this when I try loading 360Controller.kext:

Notice: /System/Library/Extensions/360Controller.kext has debug properties set.
Warnings: 
    Personality CFBundleIdentifier differs from containing kext's (not necessarily a mistake, but rarely done): 
        ChatPadKeyboardEvents

(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV20ChatPadKeyboardClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV22Xbox360ControllerClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV20ChatPadKeyboardClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV22Xbox360ControllerClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) Can't load kext com.mice.driver.Xbox360Controller - link failed.
(kernel) Failed to load executable for kext com.mice.driver.Xbox360Controller.
(kernel) Kext com.mice.driver.Xbox360Controller failed to load (0xdc008016).
(kernel) Failed to load kext com.mice.driver.Xbox360Controller (error 0xdc008016).
Failed to load /System/Library/Extensions/360Controller.kext - (libkern/kext) link error.
Check library declarations for your kext with kextlibs(8).

Add support for more devices

There are a lot of opened issues about supporting new devices #20 #14 #5 #1 #17 and a few messages buried inside other issue's comments.

@bleeq said on #5 he was working on adding new devices.

Someone also made a script to change (the version 0.11 of) the driver to accept a big list of new devices, here: http://forums.macrumors.com/showthread.php?t=636420 (the script https://dl.dropboxusercontent.com/u/14890209/Xbox360Driver0.11ExtraPadSupport.command.zip )

That wont work on signed drivers, I think.

So I think that we should add basic support for these devices, It is apparently easy.

Did you do something about that @bleeq ?
Which file do I look to add support for new devices?

Leds flashing on 0.14 release on Yosemite 10.10.2 when wireless receiver is connected thru USB-hub

My wireless official Microsoft Xbox360 controller just blinks all four leds simultaneously when the receiver is connected thru USB-hub. The controller shows ok in the System Preferences XBox driver view and functions great in Super Meat Boy. For testing I removed all other devices from the USB-hub. The hub itself is simple 4-port hub with option to use external power source. I didn't use it and doubt it is about power.

The wireless controller and the receiver are the official Windows version of Microsoft XBox360 controller package.

I am willing to do further testing if this needed for fixing this issue.

Ask for Restart...

I was testing a bit on Yosemite and noticed the current version's installer doesnt ask the user to restart (as the 0.12 version did), since the driver needs a reboot to work properly I think this is a good idea.

Option to disable driver in PrefPane for use with OnLive.

With the driver installed the xbox 360 controller doesn't work with OnLive. I would have to uninstall this driver for it to work. Would be great to have a button in PrefPane to be able to disable it so we don't have to uninstall and reinstall the driver if we want to use OnLive.

Lights around XBox button never stop spinning, even when connected and playing.

The controller connects fine with the transceiver and the XBox360 Controllers control panel see the input just fine. My controller, though, will not stop spinning and stay on the player 1 light.

Does this happen to anyone else?

I'm using OS X Yosemite 10.10.1 and version 0.14 of the XBox360 Controller driver. It stopped working altoegther after I updated to Yosemite but 0.14 fixed it. The spinning lights had been a problem before I updated to Yosemite, though.

Emulate a 360 controller?

Hi there -

I recently switched from Linux to Mac OS. Some linux ports only support xbox 360 controller mappings, like Super Meat Boy. It seems like some Mac OS games are like this, too (like Castle Crashers).

On Linux, I can use xboxdrv to create a virtual joystick, and map buttons from my cruddy old PS2 to USB adapter. I'm wondering if it makes sense to incorporate that kind of functionally into this project.

I would love to be able to continue using my older controllers with newer games.

D-Pad shows as multiple buttons

This has been the functionality of the driver since the beginning. D-pad shows as multiple individual buttons to the operating system. It leads to some problems with games that by default map some functionality to some buttons. It also might lead to problems with games that get confused with too many buttons. Latter is off course example of bad design in the game, rather that in the driver.

Anyway, I was hoping that maybe there could be an option where you could choose between current functionality and an alternative one where d-pad wouldn't show as bunch of buttons. I think we need to keep the current mapping as well, as many games depend on it.

My current test case is with Residual VM. Steps to reproduce, using Xbox360 wireless controller, driver release 0.14:

  1. First be sure you have enable joystick support in Residual VM
  2. Launch Grim Fandango
  3. Move Manny with thumbstick
  4. Try to interact with object in the scene

Observe that the default interaction button is mapped to one of the d-pad directions.

Create multi-OS installer package

There needs to be a way to create an Installer package that will install the right kext for the OS version. The current program could be used, but it looks like it will take a lot of Packages (the name of the app that generates Installer packages for us) projects, and we might still need to use command line tools.

Yosemite support

Seems like apple broke some stuff again... it is not working in the latest yosemite beta :/

Controller order

I've noticed that the controller order get messed up when a controller disconnects.

For example, there are 4 360 controllers used. Controller 3 disconnects, and you reconnect it straight after it disconnects. It will show up again as controller 3 on the indicator lights, but the game will see it as controller 4 and not as 3, while the real controller 4 will not be able to control anything form that point.

So the indicator lights on the controller work well after reconnecting, but the internal controller order gets messed up. I've tested this with 2 games so far one of then Towerfall which works native with 360 controllers.

Screensaver turns on while playing

Yesterday i tried to play "Broforce" with my brand new XBOX 360 Wireless Controller with your driver under OSX 10.10.1. It worked well, but the screensaver appeared while playing.

Is this game-related or input-device related?
I think it could be a combination of both, havent tried any other game.

Latest Driver Release Preventing Display Sleep While Plugged In

My Gamestop controller is FINALLY supported in this release, but I have another issue.
As long as the controller is connected via USB, the display fails to go to sleep and I need to remember to unplug the controller so the display sleeps as expected. Is there a way to fix this so the display functions/sleeps as expected? Unplugging the controller when done with it does fix it, but where it is now attached is not the most convenient place to reach to unplug when done...

Can't find the software anywhere on Mac

Hey,

I think I'm dumb as hell but I've tried to install this sofware maybe 15 times and everytime it has finished installing it, I can't find the software anywhere : nor in my Files or my Apps ... Someone please help me !!

I'm using a MacBook Pro with OSX Yosemite 10.10

360 Keyboard is not working

I got an Xbox 360 keyboard to try and see how the keyboard support was. It turns out that the support doesn't really work.

GameController Framework support

Apple has their own framework to provide access to game controllers: Game Controller Framework Reference

I have tried it with Xbox360 Wireless and this driver, but nothing gets found:

#import <GameController/GameController.h>

for (GCController *controller in [GCController controllers]) {
    NSLog(@"CONTROLLER FOUND: %@", controller);
}

I could access it via SDL2.
So I was wondering, what would be the effort to add support for GameController Framework?

Branch notes, (01/2015):

Just a quick PSA to say that the yosCodeSign branch has been moved to master, while the contents of the old master branch have moved to snowLeopardCompat.

XB360 Mortal Kombat FightStick Doesn't Work

Hi any reason why the XB360 Mortal Kombat FightStick isn't detected by the PrefPane? I've added it to the info.plist and recompiled but still doesn't show up. Any help would be great. Trying to build a Mac mini cade.

XB360 Mortal Kombat FightStick:

  Product ID:   0xf906
  Vendor ID:    0x1bad
  Version:  1.00
  Serial Number:    2370656
  Speed:    Up to 12 Mb/sec
  Manufacturer: Performance Designed Products
  Location ID:  0x14100000 / 8
  Current Available (mA):   500
  Current Required (mA):    Unknown (Device has not been configured)

I've also tried running the following command

sudo /Library/PreferencePanes/Pref360Control.prefPane/Contents/Resources/DriverTool \
edit \
XB360MortalKombatFightStick 7085 63750 \

screen shot

[BETOP (GAME FOR WINDOWS)] (not supported device)

[BETOP (GAME FOR WINDOWS)]:

产品 ID: 0x5506
厂商 ID: 0x11c0 (Sanmos Microelectronics Corp.)
版本: 1.00
速度: 最大 12 Mb/秒
制造商: HJC Game
位置 ID: 0x14200000 / 3
可用电流 (mA): 500
所需电流 (mA): 500

MadCatz FightPad (New device)

Hi,

Could you add the support for this pad?
Thanks!

Mad Catz FightPad:

Product ID: 0xf02e
Vendor ID: 0x1bad
Version: 4.90
Serial Number: 1871A46A
Speed: Up to 12 Mb/sec
Manufacturer: Mad Catz, Inc.
Location ID: 0xfd140000 / 5
Current Available (mA): 500
Current Required (mA): Unknown (Device has not been configured)

Wireless controller fails to pair with receiver

This is probably my fault, but I wonder if something could be done about it. I'm willing to post logs or whatever to get this to work. I apparently bought a Chinese knock off wireless receiver instead of the official Microsoft one. I didn't do it intentionally, but I figure the device would still function.

However when I try to pair the receiver and wireless controller the lights flash (and circle on the controller) as expected. Then the receiver light goes solid and all four lights flash on the controller 4 times, pause, then continue to flash as if the pairing was unsuccessful.

Force feedback effects don't work with < 1 second durations

Using this driver with a wired Xbox 360 controller, force feedback effects only work if the duration is at least 1 second. Anything less and the effect doesn't work at all (but it still reports success, or at least SDL does.)

This can be easily tested by modifying the durations in the SDL_HapticRumblePlay calls in testrumble.c.

Driver do not see device

2014-02-01 15 21 43

Full Speed device @ 7 (0x14100000): ............................................. Vendor-specific device: "Controller"
Port Information: 0x101a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (unconfigured): 8
Device Descriptor
Descriptor Version Number: 0x0200
Device Class: 255 (Vendor-specific)
Device Subclass: 255 (Vendor-specific)
Device Protocol: 255
Device MaxPacketSize: 8
Device VendorID/ProductID: 0x12AB/0xF701 (Honey Bee Electronic International Ltd.)
Device Version Number: 0x0110
Number of Configurations: 1
Manufacturer String: 1 "Microsoft Inc."
Product String: 2 "Controller"
Serial Number String: 3 "102612E"
Current configuration: 0 (unconfigured)
Configuration Descriptor
Length (and contents): 153
Raw Descriptor (hex) 0000: 09 02 99 00 04 01 00 A0 FA 09 04 00 00 02 FF 5D
Raw Descriptor (hex) 0010: 01 00 11 21 10 01 01 25 81 14 03 03 03 04 13 02
Raw Descriptor (hex) 0020: 08 03 03 07 05 81 03 20 00 04 07 05 02 03 20 00
Raw Descriptor (hex) 0030: 08 09 04 01 00 04 FF 5D 03 00 1B 21 00 01 01 01
Raw Descriptor (hex) 0040: 83 40 01 04 20 16 85 00 00 00 00 00 00 16 05 00
Raw Descriptor (hex) 0050: 00 00 00 00 00 07 05 83 03 20 00 02 07 05 04 03
Raw Descriptor (hex) 0060: 20 00 04 07 05 85 03 20 00 40 07 05 05 03 20 00
Raw Descriptor (hex) 0070: 10 09 04 02 00 01 FF 5D 02 00 09 21 00 01 01 22
Raw Descriptor (hex) 0080: 86 07 00 07 05 86 03 20 00 10 09 04 03 00 00 FF
Raw Descriptor (hex) 0090: FD 13 04 06 41 00 01 01 03
Number of Interfaces: 4
Configuration Value: 1
Attributes: 0xA0 (bus-powered, remote wakeup)
MaxPower: 500 ma
Interface #0 - Vendor-specific
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 93 (Vendor-specific)
Interface Protocol: 1
Raw Descriptor (hex) 0000: 11 21 10 01 01 25 81 14 03 03 03 04 13 02 08 03
Raw Descriptor (hex) 0010: 03
Endpoint 0x81 - Interrupt Input
Address: 0x81 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 4 ms
Endpoint 0x02 - Interrupt Output
Address: 0x02 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 8 ms
Interface #1 - Vendor-specific
Alternate Setting 0
Number of Endpoints 4
Interface Class: 255 (Vendor-specific)
Interface Subclass; 93 (Vendor-specific)
Interface Protocol: 3
Raw Descriptor (hex) 0000: 1B 21 00 01 01 01 83 40 01 04 20 16 85 00 00 00
Raw Descriptor (hex) 0010: 00 00 00 16 05 00 00 00 00 00 00
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 2 ms
Endpoint 0x04 - Interrupt Output
Address: 0x04 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 4 ms
Endpoint 0x85 - Interrupt Input
Address: 0x85 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 64 ms
Endpoint 0x05 - Interrupt Output
Address: 0x05 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 16 ms
Interface #2 - Vendor-specific
Alternate Setting 0
Number of Endpoints 1
Interface Class: 255 (Vendor-specific)
Interface Subclass; 93 (Vendor-specific)
Interface Protocol: 2
Raw Descriptor (hex) 0000: 09 21 00 01 01 22 86 07 00
Endpoint 0x86 - Interrupt Input
Address: 0x86 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 16 ms
Interface #3 - Vendor-specific .............................................. "Xbox Security Method 3, Version 1.00, \251 2005 Microsoft Corporation. All rights reserved."
Alternate Setting 0
Number of Endpoints 0
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 19
Raw Descriptor (hex) 0000: 06 41 00 01 01 03

Feature request/bug report: slider for adjusting axis sensitivity

Hi,
I'm currently using the xbox 360 wireless controller to play some good ol' n64 games with openEmu. The problem is that the controls on the left joystick axes are way to sensitive, so on moving the sticks only a little bit Mario just RUNS instead of walking slowly.
So:
A) I didn't understand what the sliders on the very left and at the bottom right are for. When I move them I see the red lines going back and forth, but it doesn't change the controls in any way. If these sliders are supposed to change sensitivity, then this is a bug-report.
B) The sliders have nothing to do with sensitivity. Then this is a feature-request for adding another slider, that would decrease sensitivity, so that little Mario can walk slowly in the future.

Cheers! -H

Can't unload the kexts

I was writing a uninstall script (#54) and noticed the kexts aren't unloading correctly. Both for Wired and Wireless controllers.
please try:

sudo kextunload -b "com.mice.driver.Xbox360Controller"

or

sudo kextunload -b "com.mice.driver.Wireless360Controller"

The controller(s) stop working as expected but the driver is still on memory
(check with sudo kextstat | grep com.mice.driver)

if you reload the driver it will get back working with another stance.
Apparently the old stance was never released and leak.

This is the message I got when trying to unload the kext in verbose mode, after unloading/loading a few times:
(sudo kextunload -b "com.mice.driver.Xbox360Controller" -v 6)

Kext user-space log filter changed from 0xff2 to 0xfff.
Kext kernel-space log filter changed from 0xff2 to 0xfff.
Requesting unload of com.mice.driver.Xbox360Controller (with termnation of IOServices).
(kernel) User-space log flags changed from 0x0 to 0xfff.
(kernel) Received 'Unload' request from user space.
(kernel) Can't unload kext com.mice.driver.Xbox360Controller; classes have instances:
(kernel) Kext com.mice.driver.Xbox360Controller class Xbox360Peripheral has 7 instances.
(kernel) Kext com.mice.driver.Xbox360Controller class Xbox360ControllerClass has 1 instance.
(kernel) Kext com.mice.driver.Xbox360Controller class XboxOneControllerClass has 7 instances.
Kernel error handling kext request - (libkern/kext) kext is in use or retained (cannot unload).
Failed to unload com.mice.driver.Xbox360Controller - (libkern/kext) kext is in use or retained (cannot unload).

Also, this is certainly the reason why you usually need to restart (#11) when upgrading the driver.
Maybe this is related to #13 too?

Also, this may help, I think:
http://stackoverflow.com/questions/13536970/cant-unload-kernel-extension-classes-have-instances

Horipad EX2 Turbo refuses to work with 360Controller

I'm running OS X 10.10.1 on a mid-2012 MBP and a late 2009 Mac Mini. 360Controller doesn't work with my EX2 Turbo, on the MPB or the Mini. It doesn't show up as a device under the XBox 360 Controllers preference. No game or emulator can see it.

It does show up under System Report->USB and works perfectly in Windows 7 running under Parallels, though.

I even tried deleting 360Controller from the MBP and using Tattieboggle's driver + workarounds. Still nothing. What's going on?

On/Off button menu bar (New Feature)

I don't if it is possible but a I like to see an on/off button in the menu bar to turn your controllers of in the menu bar as a new feature. Because now you have to open the config window every time you like to do that. I have no clue if this is a lot of work to implement, if so, don't bother.

Wake up mac connect problem

Hi,
I'm using drivers version 0.13.1 and when my mac wake up form sleep I can't connect the wireless xbox 360 controller, all 4 lights blink. Is necessary disconect the receptor from USB and connect again to working. Is this a bug? There is a fix for that?
My iMac is Mavericks OS X 10.9.4
Thanks,
Charles

Wireless controller goes to sleep

I noticed this bug since I installed the Yosemite release. The wireless controller goes to sleep after the timeout like I hadn't been using it at all. Could it be related with the fact that the lights keep blinking?

Hori Real Arcade Pro EX - kernel[0]: Unknown device release 100start - failed to read chatpad setting

I'm having the same issue other folks have mentioned (in the SRK forum) regarding the HORI Real Arcade Pro EX. When I connect, I've got flashing lights but the driver does recognize it. However, system_profiler SPUSBDataType would indicate that the OS does recognize the device. This is what I get from /var/log/syslog.log:

Oct 25 00:37:03 disorder kernel[0]: Unknown device release 100start - failed to read chatpad setting

Dug into the code and saw this:

if (device->DeviceRequest(&controlReq, 100, 100, NULL) != kIOReturnSuccess)
{
IOLog("start - failed to read chatpad setting\n");
goto fail;
}

I also found this:

bool Xbox360Peripheral::start(IOService *provider)
{
const IOUSBConfigurationDescriptor *cd;
IOUSBFindInterfaceRequest intf;
IOUSBFindEndpointRequest pipe;
XBOX360_OUT_LED led;
IOWorkLoop *workloop = NULL;

if (!super::start(provider))
    return false;
// Get device
device=OSDynamicCast(IOUSBDevice,provider);
if(device==NULL) {
    IOLog("start - invalid provider\n");
    goto fail;
}
// Check for configurations
if(device->GetNumConfigurations()<1) {
    device=NULL;
    IOLog("start - device has no configurations!\n");
    goto fail;
}
// Set configuration
cd=device->GetFullConfigurationDescriptor(0);
if(cd==NULL) {
    device=NULL;
    IOLog("start - couldn't get configuration descriptor\n");
    goto fail;
}
// Open
if(!device->open(this)) {
    device=NULL;
    IOLog("start - unable to open device\n");
    goto fail;
}
if(device->SetConfiguration(this,cd->bConfigurationValue,true)!=kIOReturnSuccess) {
    IOLog("start - unable to set configuration\n");
    goto fail;
}
// Get release
{
    UInt16 release = device->GetDeviceRelease();
    switch (release) {
        default:
            IOLog("Unknown device release %.4x", release);
            // fall through
        case 0x0110:
            chatpadInit[0] = 0x01;
            chatpadInit[1] = 0x02;
            break;
        case 0x0114:
            chatpadInit[0] = 0x09;
            chatpadInit[1] = 0x00;
            break;
    }
}

These two functions combined seem to make the the contents of the log file. Don't know that much about device drivers or ObjC/C, but I can do some guessing:

It looks like the first conditional does not return kIOReturnSuccess, which might indicate that the DeviceRequest failed.

In the second code section, it looks like device is some sort of pointer to a struct or object and GetDeviceRelease is the method for that struct or object. The return value is release, which is likely a 16 bit int. The switch logic defaults to failure if release doesn't match the either of the hex values listed above. Since there are no comments for those values, I have no idea what they're for (at least without digging deeper)

If anyone is willing to take this on, I'd be more than happy to assist in any way I can. Would be great to get this bug squashed.

Xbox One controller support

Dear developer,
My friends and I have xbox one gamepad and sometimes want to use it on MAC.
Do you have a plan to develop a driver for xbox one controller for MAC OS X?

Razer Sabertooth Elite

I can confirm that this method gives me a working controller (Razer Sabertooth Elite):
http://forums.macrumors.com/showthread.php?p=18789871#post18789871

However is it possible to get this controller working with this version so I don't have to deal with crashes??
The information for this controller is as follows:
Product ID: 0xfe00
Vendor ID: 0x1689
Version: 1.24
Serial Number: 0773633A
Speed: Up to 12 Mb/sec
Manufacturer: Razer
Location ID: 0x14500000 / 10
Current Available (mA): 500
Current Required (mA): 500

Thanks, or if you could point me in the direction of how to help the project support it even better

Kernel panic on unplug of controller

Anonymous UUID:       3375D1AB-DD7E-F75E-096A-382488A25960

Wed Aug 13 20:49:06 2014
panic(cpu 0 caller 0xffffff80288dbf5e): Kernel trap at 0xffffff7faad4e98e, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000000, CR3: 0x000000002b407000, CR4: 0x00000000001606e0
RAX: 0xffffff804e745a00, RBX: 0xffffff804e745a00, RCX: 0x0000000000000007, RDX: 0xffffff804fec3500
RSP: 0xffffff82158a3b10, RBP: 0xffffff82158a3b20, RSI: 0x00000000e0000010, RDI: 0x0000000000000000
R8:  0x0000000000000000, R9:  0x0000000000000000, R10: 0x0000000000000010, R11: 0xffffffffffffff00
R12: 0xffffff8055aa3540, R13: 0x00000000e0000010, R14: 0x0000000000000007, R15: 0xffffff804fec3500
RFL: 0x0000000000010246, RIP: 0xffffff7faad4e98e, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000000, Fault CPU: 0x0

Backtrace (CPU 0), Frame : Return Address
0xffffff82158a37a0 : 0xffffff8028822fa9 
0xffffff82158a3820 : 0xffffff80288dbf5e 
0xffffff82158a39f0 : 0xffffff80288f3456 
0xffffff82158a3a10 : 0xffffff7faad4e98e 
0xffffff82158a3b20 : 0xffffff8028c91d3a 
0xffffff82158a3b80 : 0xffffff8028c92053 
0xffffff82158a3ba0 : 0xffffff8028c8d219 
0xffffff82158a3be0 : 0xffffff8028c91ea2 
0xffffff82158a3c10 : 0xffffff8028c92019 
0xffffff82158a3c50 : 0xffffff8028c93b72 
0xffffff82158a3ca0 : 0xffffff8028caf25e 
0xffffff82158a3ce0 : 0xffffff8028c9326f 
0xffffff82158a3d60 : 0xffffff8028c92d27 
0xffffff82158a3da0 : 0xffffff8028c92aba 
0xffffff82158a3e00 : 0xffffff8028c9408c 
0xffffff82158a3e10 : 0xffffff7fa8e301a1 
0xffffff82158a3e30 : 0xffffff7fa9a28b1a 
0xffffff82158a3e70 : 0xffffff7fa9a2c7f7 
0xffffff82158a3ea0 : 0xffffff7fa9a2cc97 
0xffffff82158a3f00 : 0xffffff7fa9a27b8f 
0xffffff82158a3f20 : 0xffffff802884a23a 
0xffffff82158a3fb0 : 0xffffff80288d7127 
      Kernel Extensions in backtrace:
         com.apple.iokit.IOUSBFamily(677.4)[7B660BA0-DC2C-3B67-9156-A9E8F9CC783F]@0xffffff7fa8e1b000->0xffffff7fa8e7bfff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[244D4E48-78E6-3369-8D76-285C66EF9BF4]@0xffffff7fa8dec000
         com.apple.driver.AppleUSBHub(666.4)[67DBE53A-831B-3DE4-8D54-DC56789C25EC]@0xffffff7fa9a1b000->0xffffff7fa9a32fff
            dependency: com.apple.iokit.IOUSBFamily(677.4.0)[7B660BA0-DC2C-3B67-9156-A9E8F9CC783F]@0xffffff7fa8e1b000
         com.mice.driver.Xbox360Controller(1.0d12)[CD56688F-D773-3C80-AE8E-34AC8CAB8988]@0xffffff7faad4d000->0xffffff7faad52fff
            dependency: com.apple.iokit.IOHIDFamily(2.0.0)[FDF4C462-65B0-367C-8A5E-56136D7C54A5]@0xffffff7fa9928000
            dependency: com.apple.iokit.IOUSBFamily(677.4.0)[7B660BA0-DC2C-3B67-9156-A9E8F9CC783F]@0xffffff7fa8e1b000

BSD process name corresponding to current thread: kernel_task

Mac OS version:
13D65

Kernel version:
Darwin Kernel Version 13.2.0: Thu Apr 17 23:03:13 PDT 2014; root:xnu-2422.100.13~1/RELEASE_X86_64
Kernel UUID: ADD73AE6-88B0-32FB-A8BB-4F7C8BE4092E
Kernel slide:     0x0000000028600000
Kernel text base: 0xffffff8028800000
System model name: MacBookPro10,1 (Mac-C3EC7CD22292981F)

System uptime in nanoseconds: 813303276860
last loaded kext at 245656911662: com.apple.filesystems.msdosfs 1.9 (addr 0xffffff7fa9764000, size 65536)
last unloaded kext at 306429236733: com.apple.driver.AppleUSBOHCI   656.4.1 (addr 0xffffff7fa9a01000, size 53248)
loaded kexts:
com.mice.driver.Xbox360Controller   1.0.0d12
com.Cycling74.driver.Soundflower    1.5.1
org.virtualbox.kext.VBoxUSB 4.2.16
org.virtualbox.kext.VBoxDrv 4.2.16
com.apple.driver.AppleHWSensor  1.9.5d0
com.apple.filesystems.autofs    3.0
com.apple.filesystems.ntfs  3.11
com.apple.iokit.IOBluetoothSerialManager    4.2.4f1
com.apple.driver.AudioAUUC  1.60
com.apple.driver.AppleMikeyHIDDriver    124
com.apple.driver.AppleMikeyDriver   2.6.1f2
com.apple.driver.ApplePlatformEnabler   2.0.9d1
com.apple.driver.AGPM   100.14.15
com.apple.driver.X86PlatformShim    1.0.0
com.apple.driver.AppleHDA   2.6.1f2
com.apple.driver.AppleUpstreamUserClient    3.5.13
com.apple.iokit.IOUserEthernet  1.0.0d1
com.apple.driver.AppleUSBDisplays   360.8.14
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 4.2.4f1
com.apple.GeForce   8.2.6
com.apple.Dont_Steal_Mac_OS_X   7.0.0
com.apple.driver.AppleHWAccess  1
com.apple.driver.AppleThunderboltIP 1.1.2
com.apple.driver.AppleSMCPDRC   1.0.0
com.apple.driver.AppleSMCLMU    2.0.4d1
com.apple.driver.AppleMuxControl    3.5.26
com.apple.driver.AppleLPC   1.7.0
com.apple.driver.AppleMCCSControl   1.1.12
com.apple.driver.AppleIntelHD4000Graphics   8.2.6
com.apple.driver.AppleIntelFramebufferCapri 8.2.6
com.apple.driver.AppleUSBTCButtons  240.2
com.apple.driver.AppleUSBTCKeyboard 240.2
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.BootCache 35
com.apple.driver.AppleFWOHCI    5.0.2
com.apple.driver.XsanFilter 404
com.apple.iokit.IOAHCIBlockStorage  2.5.1
com.apple.driver.AppleSDXC  1.5.2
com.apple.iokit.AppleBCM5701Ethernet    3.8.1b2
com.apple.driver.AppleUSBHub    666.4.0
com.apple.driver.AirPort.Brcm4331   700.20.22
com.apple.driver.AppleAHCIPort  3.0.0
com.apple.driver.AppleUSBEHCI   660.4.0
com.apple.driver.AppleUSBXHCI   677.4.0
com.apple.driver.AppleSmartBatteryManager   161.0.0
com.apple.driver.AppleACPIButtons   2.0
com.apple.driver.AppleRTC   2.0
com.apple.driver.AppleHPET  1.8
com.apple.driver.AppleSMBIOS    2.1
com.apple.driver.AppleACPIEC    2.0
com.apple.driver.AppleAPIC  1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 217.92.1
com.apple.nke.applicationfirewall   153
com.apple.security.quarantine   3
com.apple.driver.AppleIntelCPUPowerManagement   217.92.1
com.apple.kext.triggers 1.0
com.apple.iokit.IOSerialFamily  10.0.7
com.apple.iokit.IOSCSIArchitectureModelFamily   3.6.6
com.apple.driver.DspFuncLib 2.6.1f2
com.apple.vecLib.kext   1.0.0
com.apple.iokit.IOBluetoothHostControllerUSBTransport   4.2.4f1
com.apple.iokit.IOBluetoothFamily   4.2.4f1
com.apple.iokit.IOAcceleratorFamily 98.20
com.apple.nvidia.driver.NVDAGK100Hal    8.2.6
com.apple.nvidia.driver.NVDAResman  8.2.6
com.apple.driver.X86PlatformPlugin  1.0.0
com.apple.driver.AppleUSBAudio  2.9.5f4
com.apple.iokit.IOAudioFamily   1.9.7fc2
com.apple.kext.OSvKernDSPLib    1.14
com.apple.driver.AppleHDAController 2.6.1f2
com.apple.iokit.IOHDAFamily 2.6.1f2
com.apple.iokit.IOFireWireIP    2.2.6
com.apple.driver.AppleSMC   3.1.8
com.apple.driver.AppleGraphicsControl   3.5.26
com.apple.driver.IOPlatformPluginFamily 5.7.0d11
com.apple.driver.AppleSMBusPCI  1.0.12d1
com.apple.driver.AppleBacklightExpert   1.0.4
com.apple.driver.AppleSMBusController   1.0.11d1
com.apple.iokit.IOSurface   91.1
com.apple.iokit.IONDRVSupport   2.4.1
com.apple.iokit.IOAcceleratorFamily2    98.20
com.apple.AppleGraphicsDeviceControl    3.5.26
com.apple.iokit.IOGraphicsFamily    2.4.1
com.apple.driver.AppleUSBMultitouch 240.9
com.apple.iokit.IOUSBHIDDriver  660.4.0
com.apple.driver.AppleThunderboltPCIUpAdapter   1.4.5
com.apple.driver.AppleThunderboltDPInAdapter    3.1.7
com.apple.driver.AppleThunderboltDPOutAdapter   3.1.7
com.apple.driver.AppleThunderboltDPAdapterFamily    3.1.7
com.apple.driver.AppleThunderboltPCIDownAdapter 1.4.5
com.apple.driver.AppleUSBMergeNub   650.4.0
com.apple.driver.AppleUSBComposite  656.4.1
com.apple.iokit.IOFireWireFamily    4.5.5
com.apple.driver.AppleThunderboltNHI    2.0.1
com.apple.iokit.IOThunderboltFamily 3.2.7
com.apple.iokit.IOEthernetAVBController 1.0.3b4
com.apple.driver.mDNSOffloadUserClient  1.0.1b5
com.apple.iokit.IO80211Family   630.35
com.apple.iokit.IONetworkingFamily  3.2
com.apple.iokit.IOUSBUserClient 660.4.2
com.apple.iokit.IOAHCIFamily    2.6.5
com.apple.iokit.IOUSBFamily 677.4.0
com.apple.driver.AppleEFINVRAM  2.0
com.apple.driver.AppleEFIRuntime    2.0
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.iokit.IOSMBusFamily   1.1
com.apple.security.sandbox  278.11
com.apple.kext.AppleMatch   1.0.0d1
com.apple.security.TMSafetyNet  7
com.apple.driver.AppleKeyStore  2
com.apple.driver.DiskImages 371.1
com.apple.iokit.IOStorageFamily 1.9
com.apple.iokit.IOReportFamily  23
com.apple.driver.AppleFDEKeyStore   28.30
com.apple.driver.AppleACPIPlatform  2.0
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily    1.4
com.apple.kec.corecrypto    1.0
com.apple.kec.pthread   1

Power-off timeout is too short

0.12 featured power-off timeout. All cool for keeping the battery alive, but a timeout of only 2 minutes is too damn short. Any cutscene will make the controller to turn off. That shouldn't be a problem, but most games stop recognizing the controller afterwards (which I don't know if it's another bug on its own) and I end up needing to close and launch them again.

Ideally, I see this a something to be configurable, but back then, as a quick fix, I re-compiled the driver with a more reasonable timeout of 15 minutes. I also tried to contact tattiebogle to have it merged, but never got word from him. I'm happy to find this "unofficial" fork of the driver so the community can finally contribute.

Bumping minimum version....

So... "in order to compile (with 32-bit support), you need to set DEVELOPER_DIR to an Xcode 4.6 Developer directory and run build.sh. Xcode 5 cannot compile 32-bit kexts."

Does this even work in Xcode 6 on Yosemite/Mavericks?
Is there any breaking changes that prevent 32bit from building in the yosCodeSign branch?

As discussed in #31 , this branch probably should be on master.
Maybe it is the time to bump up the minimum required version to the one that supports kexts signed with the latest xcode (10.7? 10.8? 10.9?) and maybe keep another branch that works on older versions.

@d235j @MaddTheSane thoughts?

Thumb axis vertical values are inverted

According to MSDN — http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinput_gamepad(v=vs.85).aspx — the thumbstick values are negative for down and left.
When I read out the values from this driver I get negative values for UP and left. Was this deliberate, is MSDN wrong or is it a driver issue?

Additionally, wiggling the left stick yields actions for the right stick and vice versa unless I hold the first stick at extreme values. So, e.g. I hold the left stick at, say, -20000, and I then move the right stick. I get input value callback calls for the left stick as well (with the right values for both though). Not sure if this is a limitation of the hardware or a bug.

Xbox 360 Wireless Controller for Windows (New device)

The problem is the same as in https://github.com/d235j/360Controller/issues/38

Xbox 360 Wireless Receiver for Windows:
Product ID: 0x0719
Vendor ID: 0x045e (Microsoft Corporation)
Version: 1.00
Serial Number: 00000000
Speed: Up to 12 Mb/sec
Manufacturer: ©Microsoft
Location ID: 0x1a110000 / 3
Current Available (mA): 500
Current Required (mA): 260

I could see in Windows under Parallels id of the controller:
USB\VID_045E&PID_02A1&IG_00

What should I add to the info.plist to work?

P.S. Sorry for my bad english

Logitech F710 Support

Hello,

Before I've upgraded to Yosemite, I used this instruction and your driver in 10.9 to play Steam games using Logitech F710 gamepad in X-Input mode and it worked great, thank you for that!

But with the upgraded driver and 10.10 the trick does not seem to work, could you please look into it?

PS: I (and many F710 users I guess) would also appreciate, if the driver supported this gamepad out-of-the-box, there seems to be no rocket-science in Xbox360DriverExtraPadSupport.command

Include Uninstaller

I have read in another form that we can use pkgutil --files com.mice.pkg.Xbox360controller; to see the files installed by your driver and uninstalled manually. I am wondering if maybe you could include some kind of uninstaller to make the process easier.
Thank you for your amazing work

LEDs spin the whole time

I've upgraded to the 0.14 version of the driver (to work on Yosemite) and the controller is being recognized, but the 4 LEDs on the front just spin the whole time (as if they are looking to pair with an XBox).

This happens with both the wired and the wireless controller.

I'm on 10.10.1 MacBook Pro (Retina, 15-inch, late 2013)

Signing into xcconfig

Maybe a nitpick, but are you open to the idea of using a DeveloperSettings.xcconfig which is added to .gitignore (as described here: http://stackoverflow.com/a/333177/114132) to store the CODE_SIGN_IDENTITY variable?

It would make my working tree a bit cleaner, and would also help with initial error messages for people trying to build.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.