WARNING: this release totally breaks the configuration compatibility.
EDIT 21 April: The macro fonctionnality is broken π
New configuration examples are installed to the /etc/emuclient folder:
- CallOfDuty:BlackOps.xml (updated)
- CallOfDuty:BlackOpsG500+G5.xml (configuration for 2 controllers)
Following items in the edit menu of Sixemuconf will let you convert your old configuration quickly:
- Replace mouse: detect and replace mouse name&id in the current controller
- Replace keyboard: detect and replace keyboard name&id in the current controller
Due to the correction of issue 60, you also will have to change ALL your mouse multipliers depending on your mouse frequency:
- 125Hz : divide by 1.25
- 250Hz : divide by 2.5
- 500Hz : divide by 5
If you don’t know what frequency your mouse is running at, just try each value (or ask google for your mouse max frequency, and limit it to a maximum of 500Hz). High-end mice like the Logitech G5 or G500 are running at 500Hz (default frequency).
I know, this incompatibility sucks, but the new features in this version are worth the price. This probably won’t happen another time.
To prevent beginners to use this version until I’m sure its quality is good, I will not change the version in the tutorial, and the previous version will remain “featured” in the googlecode download page. About 500 people downloaded the previous version π I’m waiting everyone’s feedback! I’m just joking, but I really appreciate a few words and I accept both positive and negative feedbacks.
Main improvements:
- multiple mice & keyboard (new configuration examples in /etc/emuclient)
- synchronization improved
- mouse translation improved
- up to 8 configurations per controller
- new mouse calibration mode
All corrected issues:
Download links:
New items in the edit menu of Sixemuconf:
The “Replace Mouse DPI” item lets you adjust your multipliers according to your old and new mouse dpi values (the higher the better). I recently bought a Logitech G500 (which is excellent by the way), and I run it at its max dpi (5700). My previous mouse is a Logitech G5 (max 2000 dpi). This means I had to multiply my multipliers by: 2000/5700.
New calibration mode, displayed in Sixstatus:
This calibration mode lets you calibrate each mouse independently. It reads values from the loaded configuration, but it still doesn’t save them (use Sixemuconf to apply changes to the configuration file). To change values, use rctrl+FX key combinations and use the mouse wheel.
Enjoy!!
Awesome work! I'm trying it out right now.
I'll get back to you with some feedback later.
btw, have you considered posting it to the Latest News section on psx-scene? I don't know if you already done it (haven't found anything) but if not, please do! This is a great piece of software that should make the front page news.
I`m unable to select the X dead zone for adjustment by pressing rctrl+F5 (everything else works) But I`m not sure if it`s a bug or just my Apple keyboard not playing nice with Ubuntu.
Loving the feel of the mouse movements anyways! Working great in COD4, MW2 and Black Ops.
I tried setting up a configuration for Killzone 2 but the aiming in that game is so sluggish and horrible to start with, it`s a lost cause either way.
Lost Planet 2 and Uncharted 2 worked surprisingly well though.
@Medox
If v0.20 is good enough, I will consider posting it in the News section on psx-scene. There already are some projects posted on psx-scene that are using my work: the Kinect-PS3 is using the sixaxis emulator, and a teensy++ macro utility is using my previous teensy++ controller.
@McKack
Please try to detect your rctrl and F5 keys in Sixemuconf.
Did you calibrated something for Killzone 2, Lost Planet 2 and Uncharted 2?
Yeah for Killzone 2 I had to change all the values for the aim, and even some into negative values, but it seems they coded the aim to actually decelerate so when doing quick turns the aim keeps on going for a while after you've stopped moving the mouse.
For Lost Planet 2 and Uncharted 2 I simply used the Black Ops values as a starting point and tweaked them a little till it felt right.
I'll try later on to check if Sixemuconf detects my rctrl and F5.
Sixemuconf had no problems recognizing rctrl or F5. I do have to press the function key on my keyboard before the F-keys work as regular though (rctrl+fn+F5 for instance) so it might have something to do with that.
I'm gonna try to figure out if I can toggle the function state of my keyboard in Ubuntu somehow.
Damn. I'm really eager to try this out but ubuntu can't find my dongle. Do I have to do anything special to get it detected? I tried enabling it from system>preferences>bluetooth but it didn't work.
It should be automatically detected.
Try to see if it's listed in the usb devices: in a terminal, type lsusb
If you see the bt dongle in the usb devices list, try to see if it's listed in the bt devices:
in a terminal, type hciconfig
You also can check the system messages just after having plugged the dongle: type dmesg
@McKack
I want to add more config examples in my next releases. Could you please send me your Lost Planet 2 and Uncharted 2 configs?
back with some feedback: I used 0.15.1 and it worked and with 0.20 I also had no problems (just the first time, until I saw the wrong device id's I used, anyway, not really a problem).
I used a Ubuntu 10.10 VHD from VMlite[dot]com. It's a preinstalled version of Ubuntu which you can boot up normally OR start in VMware/VMlite/others. The only real problems that I had were bluetooth related. I can't actually enable my laptop's bluetooth from within ubuntu. But after I enabled it in windows and came back, it worked out of the box (…and this after some pain while trying to figure out if drivers ment to be installed, configurations to be made, workarounds found by google and what not… dammit!)
So now it works great on a Fujitsu-Siemens Esprimo v6535, 2GHz dual-core, Intel 4500MHD graphics and 2GB of ram and integrated bluetooth from Toshiba. The PS3 is a 4th gen 160GB CECH-2504A. If I missed something, just ask.
p.s. an option like "start emuclient after starting the emu" in sixemugui would be nice. This way only one start button would be clicked instead of start -> ok (dialog) -> start. Anyway, not a biggie and again, great project!
Thanks for the feedback.
Are you running ubuntu in a virtual machine or normally?
Thanks for the suggestion, I think it's a good idea. If you want me not to forget it, you can write an issue there: http://code.google.com/p/diyps3controller/issues/list
I'm running Ubuntu 10.10 inside a VMWare Virtual Machine.
Got the sixaxis and my bluetooth dongle hooked up to the machine, and the GUI detects them accordingly. Setting the Dongle address seems to work, as the spoofed address is reported afterwards & I see no error messages. Even "hciconfig hci0" lists the modified address.
However, the moment I press "Start" to start the emu, I get a "Connection error! – Did you set the dongle address? If yes, try another dongle!" message.
Does the fact that everything else seems to point to the fact that I successfully changed the dongle address mean anything? Or does this error message explicitly mean that my dongle isn't compatible & I should try another one?
If it isn't compatible, would you happen to have some more information about this? All I could find on your blog is that one requires "a bluetooth dongle with a chip that can have its bdaddr (bluetooth device address) changed.". And as far as I can tell, mine qualifies ("bdaddr hci0" also reports the modified address).
As I don't have enother dongle to test with, I figure I best ask first before I buy one. π
Is the modification permanent?
What are the dongle manufacturer and chip? (displayed in Sixemugui)
Yes, I can remove the device & plug it in. Then the modified address is still displayed.
Manufacturer is Cambridge Silicon Radio (10)
Chip is BlueCore4-ROM
This dongle should work.
I suggest you to try it without running from a Virtual Machine. Note that I don't give any support for making stuff work in a virtual machine, as I don't have the time to test it. And it's better not to use virtual machines for performance reasons.
I'm running the Ubuntu VHD normally, not inside VMware.
I've tried it once but I couldn't get bluetooth working.
The whole idea behind Virtual Machines is that there shouldn't be a difference between a live machine and an emulated one.
Anyway, I just ran the Live CD to rule out problems in the Virtual Machine and I'm getting the same problem there.
At least it's consistent eh? π
I know that, but any piece of software is subject to bugs, even virtual machines.
It would be the first reported non working CSR bluecore 4 dongle π
A few questions:
– your sixaxis was paired with your own ps3, right?
– if your ps3 is turned off, does it get turned on if you "start emu"?
– what kind of distance is there between your pc and the ps3? Any wall(s)?
– if you start Sixemugui from a terminal, do you get any error message in the terminal after starting emu?
– can you post or send me by mail all the stuff displayed in the terminal?
I'm not sure I can help you get it work, but at least I will try.
My sixaxis was paired with your own ps3.
My ps3 doesn't get turned on if I "start emu".
The PC and PS3 are 10CM apart. No wall(s) whatsoever. π
As for the terminal info, I'm doing the following actions:
1) Power on my PS3 (FAT 60GB, CFW KMEAW 3.55)
2) Pair my controller with it.
3) Use the controller to turn off my console (standby).
4) Start up Ubuntu 10.10
5) Connect my controller to the PC.
6) Connect my dongle to the PC.
7) Start SixemuGUI from the terminal.
8) I see that the dongle has the same address as the controller. Mouse-grab is checked. I can check either output box (gui + terminal), but no extra information is shown.
9) I click Start (emu 0) and I get the error. The PS didn't turn on.
The terminal shows the following info:
———————————————————————
user@ubuntu:/usr/bin$ sixemugui
Current Bluetooth master: XX:XX:XX:XX:XX:45
Current Bluetooth Device Address: XX:XX:XX:XX:XX:a1
hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:A1 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:1471 acl:0 sco:0 events:46 errors:0
TX bytes:533 acl:0 sco:0 commands:42 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'ubuntu-0'
Class: 0x000508
Service Classes: Unspecified
Device Class: Peripheral, Gamepad
HCI Version: 2.0 (0x3) Revision: 0xc5c
LMP Version: 2.0 (0x3) Subversion: 0xc5c
Manufacturer: Cambridge Silicon Radio (10)
hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:A1 ACL MTU: 310:10 SCO MTU: 64:8
Unified 21e
Chip version: BlueCore4-ROM
Max key size: 128 bit
SCO mapping: HCI
Can't get device info: No such device
run as root user to set device class
connecting with hci0 = XX:XX:XX:XX:XX:A1 to XX:XX:XX:XX:XX:45 psm 17
emu: can't connect to control psm: Host is down
can't connect to control psm
emu_thread: end
———————————————————————
I ran it with sudo afterwards and while the message "run as root user to set device class" doesn't show, the rest of the outcome is still the same.
I think the latter "Can't get device info: No such device" fail is causing the issue: emu can't seem to connect to the PSM. Is there some setting I need to change in the PS3 itself?
Just figure I post the info here so people with similar problem(s) might use it to fix their issue in the future. π
No need to run sixemugui as root user, this message is for people that launch emu with a command line.
The "No such device" is not a problem.
Another question: is your sixaxis turned off when you start emu?
The sixaxis has 4 leds blinking, so I'm assuming it's turned off and charging. This behavior occurs throughout the complete process, from the moment I connect the controller to the point I get the error message, I observe no difference in the controller. It's a CECHZC2H model, so it should be a PS3 compatible one. π
Note that I'm following the English tutorial (new) to the letter, if I need to reset the sixaxis or press any button while it's hooked up to the PC, let me know. π
Try to power off the sixaxis: unplug the usb cable, and if it does not turn off by itself, press the PS3 button until it turns off.
When I disconnect the sixaxis from the USB cable, it instantly powers on the PS3 and syncs to the console. I can then turn off the sixaxis through the PS3 button (PS3 menu shows, enabling me to turn off the controller). Then when I start the emu, it still won't work, having the same log as before.
I've got some questions:
1) Is the sixaxis required to actually emulate the input? Or does the GUI only require it *one time* to retrieve identification data like the address to spoof on the BT dongle, and function as a sixaxis without the help of one attached? In the latter case, as I already copied the address to my dongle, can I leave the sixaxis turned off and out of the equation while trying to run the emulator?
2) Does it matter whether the PS3 is turned on (XMB active) or off (standby) for me to pick up any effect of the emulator?
3) Is it normal for the PS3 to power up right after I disconnect a USB-charging sixaxis from my PC? Is the sixaxis sending a wakeup command once it's unplugged or something?
Any help in further debugging this situation is appreciated!
1/ Yes, only plug it the first time, and save the conf. After that, you don't need the sixaxis anymore. The tutorial clearly says that the sixaxis and the emulator can't be used at the same time.
2/ Turning the PS3 off allows to test if there is some connection request sent to the PS3 Quite all bt dongle are able to power on the PS3. But as the PS3 checks the bdaddr after being powered on, if the bdaddr was not successfully changed, the PS3 breaks the connection.
3/ I don't know, my own sixaxis powers off after being unplugged from my PC.
I just remember that some people got connection problems that were fixed by upgrading to bluez 4.90 (bluez is the bt stack). So I suggest you to test that.
See this post and let me know if this helps.
Sure, I'll try to throw up some tidy configs for LP2 and Uncharted 2, the current ones are sort of quick, messy tests. I'm about to sell LP2 so I can buy Portal 2, and I'll probably make a config for Portal 2 then as well π
By the way, where is the configuration file for Sixemugui itself?
I'm guessing I can add the bluetooth address of a controller I've used before on my PS3 to the config by hand?
Its in the ~/.sixemugui/ folder (~ is your homedir).
Each line contains the sixaxis bdaddr and the ps3 bdaddr.
I have an issue setting up Fallout New Vegas.
I am trying to use the standard WSAD for movement, replacing the left stick. The problem is that in Fallout NV, the intensity of the stick press controls the speed of movement; a light touch is a sneak, a harder touch is walk, and a full push is run. I really only need sneak and run, so I wanted to use CAPS LOCK to switch between the two. Is this possible?
BTW…I gave up on the macros for now; I like 0.20 a lot more for everything else, so I can wait for the macros to come back in a future version.
I think there could be an improvement for that.
Please open an issue. Feel free to open an issue for any other improvement.
My Bluetooth dongle works now, but I still can't get both of them detected in sixemugui; it was able to find the dongle once, and sometimes the controller. I checked and they both seem to be there:
lsusb:
Bus 002 Device 009: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 002 Device 006: ID 054c:0268 Sony Corp. Batoh Device
hciconfig:
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1F:81:00:01:1C ACL MTU: 1021:4 SCO MTU: 180:1
UP RUNNING
RX bytes:699 acl:0 sco:0 events:24 errors:0
TX bytes:345 acl:0 sco:0 commands:26 errors:3
Nvm upgrading to 0.20 fixed the problem but I think my dongle can't have it's address changed, error:Read address after set: ko! π
Where did you bought your dongle? Ebay?
According to what I see in your previous message, this is a counterfeit. If you open it you won't see any CSR chip. It guess it contains an ASC chip. See this post.
This kind of dongle is bad and not compatible π
Several of the Fake ebay dongles I purchased would do something like what Jeremy is experiencing…they would detect, but then they would disappear once I tried to use them, and wold not come back, even with a reboot. No More issues like that with a retail bought dongles.
Yes it's a shame they are selling shitty dongles as CSR ones. Even worst: I tried asking a seller before buying dongles, so as to make sure it is a CSR chip inside, and this stupid seller still shipped me fake CSR dongles (Conwise chip).
What I suggest is to say the item was not received, and to ask for a refund via paypal.
@KillerBug
Did you see the proposal I made for the Fallout New Vegas WASD issue?
hello i have a problem in set the adress! it say: read adress after set: ko
my dongle:
Manufacturer: Cambridge silicon radio(10)
Chip Version: BlueCore4-ROM
what i can do? isnt compatible?
thanks in advance
I was able to find good info from your blog posts.
ΠΠ°ΠΌΠ° ΠΊΠ°Π·ΠΈΠ½ΠΎ