Programming PS3 Controller "Sixaxis" on the ps3 us

Investigation into how Linux on the PS3 might lead to homebrew development.

Moderators: cheriff, emoon

Post Reply
Glas
Posts: 26
Joined: Sun Jan 06, 2008 7:17 pm

Programming PS3 Controller "Sixaxis" on the ps3 us

Post by Glas »

Hi.

For a while now, Im looking for a tutorial or something similar to master the
ps3 controller on the ps3.

I think I havent got right knowlege of linux or whatever to find the right keywords.

Has anybody any information about how to programm the sixaxis controller on the ps3 or even how to install it...

Im using Fedora 7 on my pc and on the ps3(Kernel 2.6.23). And Im cross compiling via the eclipse ide.

Would be great if anyone had some infos for me.

alex
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

It shows up as a normal joystick. There are existing threads already posted about using the sixaxis, so search for those. There is also useful info on the ps2dev wiki.
Glas
Posts: 26
Joined: Sun Jan 06, 2008 7:17 pm

Post by Glas »

Hi and thanks for replying.

I think the problem is much bigger.
The point is, I have so little experiance with linux, ... this is frustrating.

Actually, I need to access the keyboard( async ) , the controller, the mouse and lastly, I also need access to the fb.

Fortunately Im able to compile the fbutility from cellperformance and it works. But with it, I cant write anything to the screen. Generally, is there any utility to write to the fb?

I noticed a library call directfb. Is it possible to compile it for the ps3, in order to use it?

I really need some help with this stuff, because Im absolutely out of google keywords and I cant imagine any more, surely because I havent too little experiance with cell and this architecture.

Currently Im studying the ibm cell handpapers but Im absolutely not able to find any information about keyboard, mouse, controller, fb...

So, If anybody gave me a helping hand by just naming some links or something, I would be very very grateful!!!!

Thanks
Alex
androvsky
Posts: 33
Joined: Sun Nov 11, 2007 5:59 am

Post by androvsky »

Glas wrote:Hi and thanks for replying.

I think the problem is much bigger.
The point is, I have so little experiance with linux, ... this is frustrating.

Actually, I need to access the keyboard( async ) , the controller, the mouse and lastly, I also need access to the fb.

Fortunately Im able to compile the fbutility from cellperformance and it works. But with it, I cant write anything to the screen. Generally, is there any utility to write to the fb?

I noticed a library call directfb. Is it possible to compile it for the ps3, in order to use it?

I really need some help with this stuff, because Im absolutely out of google keywords and I cant imagine any more, surely because I havent too little experiance with cell and this architecture.

Currently Im studying the ibm cell handpapers but Im absolutely not able to find any information about keyboard, mouse, controller, fb...

So, If anybody gave me a helping hand by just naming some links or something, I would be very very grateful!!!!

Thanks
Alex
Ah, your problem appears to be that you're assuming that everything must be done PS3-specific. This is why linux is nice, it abstracts everything so that the platform doesn't matter (as much). Try googling not for PS3, but for what you want to do in Linux. Whatever it is, it'll probably work on the PS3 (though it'll probably be slow due to lack of Cell acceleration).

You'll probably wind up here eventually anyway: http://www.libsdl.org/ It covers pretty much everything you'll need. Now, it will be a bit slow since drawing isn't Cell-accelerated yet, but other than that, it should be fine.
Glas
Posts: 26
Joined: Sun Jan 06, 2008 7:17 pm

Post by Glas »

Hi.

Now I installed SDL with

Code: Select all

yum SDL SDL-devel
on my PC and on the ps3.

Is it as easy as that? NO.
Than I just included the SDL.h file in my cpp file and now I get over 200 errors.
Severity and Description Path Resource Location Creation Time Id
/usr/include/SDL/SDL_active.h error: 'Uint8' does not name a type SimpleKeyboard line 49 1207455680530 609
/usr/include/SDL/SDL_audio.h error: 'audio_buf' was not declared in this scope SimpleKeyboard line 199 1207455680525 591
/usr/include/SDL/SDL_audio.h error: 'dst' was not declared in this scope SimpleKeyboard line 230 1207455680527 599
/usr/include/SDL/SDL_audio.h error: 'Uint16' does not name a type SimpleKeyboard line 44 1207455680521 574
/usr/include/SDL/SDL_audio.h error: 'Uint16' does not name a type SimpleKeyboard line 47 1207455680522 577
/usr/include/SDL/SDL_audio.h error: 'Uint16' does not name a type SimpleKeyboard line 48 1207455680522 578
/usr/include/SDL/SDL_audio.h error: 'Uint16' does not name a type SimpleKeyboard line 83 1207455680523 581
/usr/include/SDL/SDL_audio.h error: 'Uint16' does not name a type SimpleKeyboard line 84 1207455680523 582
/usr/include/SDL/SDL_audio.h error: 'Uint16' has not been declared SimpleKeyboard line 91 1207455680524 585
/usr/include/SDL/SDL_audio.h error: 'Uint16' has not been declared SimpleKeyboard line 209 1207455680525 592
/usr/include/SDL/SDL_audio.h error: 'Uint16' has not been declared SimpleKeyboard line 210 1207455680526 594
/usr/include/SDL/SDL_audio.h error: 'Uint32' does not name a type SimpleKeyboard line 49 1207455680522 579
/usr/include/SDL/SDL_audio.h error: 'Uint32' has not been declared SimpleKeyboard line 190 1207455680524 587
/usr/include/SDL/SDL_audio.h error: 'Uint32' was not declared in this scope SimpleKeyboard line 230 1207455680528 601
/usr/include/SDL/SDL_audio.h error: 'Uint8' does not name a type SimpleKeyboard line 45 1207455680521 575
/usr/include/SDL/SDL_audio.h error: 'Uint8' does not name a type SimpleKeyboard line 46 1207455680522 576
/usr/include/SDL/SDL_audio.h error: 'Uint8' has not been declared SimpleKeyboard line 56 1207455680522 580
/usr/include/SDL/SDL_audio.h error: 'Uint8' has not been declared SimpleKeyboard line 190 1207455680524 586
/usr/include/SDL/SDL_audio.h error: 'Uint8' has not been declared SimpleKeyboard line 209 1207455680526 593
/usr/include/SDL/SDL_audio.h error: 'Uint8' has not been declared SimpleKeyboard line 210 1207455680526 595
/usr/include/SDL/SDL_audio.h error: 'Uint8' was not declared in this scope SimpleKeyboard line 199 1207455680525 590
/usr/include/SDL/SDL_audio.h error: 'Uint8' was not declared in this scope SimpleKeyboard line 230 1207455680527 598
/usr/include/SDL/SDL_audio.h error: expected ';' before '*' token SimpleKeyboard line 86 1207455680523 584
/usr/include/SDL/SDL_audio.h error: expected primary-expression before 'const' SimpleKeyboard line 230 1207455680528 600
/usr/include/SDL/SDL_audio.h error: expected primary-expression before 'int' SimpleKeyboard line 230 1207455680528 602
/usr/include/SDL/SDL_audio.h error: initializer expression list treated as compound expression SimpleKeyboard line 230 1207455680528 603
/usr/include/SDL/SDL_audio.h error: ISO C++ forbids declaration of 'Uint8' with no type SimpleKeyboard line 86 1207455680523 583
/usr/include/SDL/SDL_audio.h error: variable or field 'SDL_FreeWAV' declared void SimpleKeyboard line 199 1207455680525 589
/usr/include/SDL/SDL_audio.h error: variable or field 'SDL_MixAudio' declared void SimpleKeyboard line 230 1207455680527 597
/usr/include/SDL/SDL_cdrom.h error: 'Uint16' does not name a type SimpleKeyboard line 64 1207455680529 606
/usr/include/SDL/SDL_cdrom.h error: 'Uint32' does not name a type SimpleKeyboard line 65 1207455680530 607
/usr/include/SDL/SDL_cdrom.h error: 'Uint32' does not name a type SimpleKeyboard line 66 1207455680530 608
/usr/include/SDL/SDL_cdrom.h error: 'Uint8' does not name a type SimpleKeyboard line 62 1207455680529 604
/usr/include/SDL/SDL_cdrom.h error: 'Uint8' does not name a type SimpleKeyboard line 63 1207455680529 605
/usr/include/SDL/SDL_config.h error: SDL_config-ppc.h: No such file or directory SimpleKeyboard line 45 1207455680516 539
/usr/include/SDL/SDL_endian.h error: 'Uint16' does not name a type SimpleKeyboard line 77 1207455680517 550
/usr/include/SDL/SDL_endian.h error: 'Uint32' does not name a type SimpleKeyboard line 110 1207455680517 551
/usr/include/SDL/SDL_events.h error: 'Uint16' does not name a type SimpleKeyboard line 131 1207455680597 736
/usr/include/SDL/SDL_events.h error: 'Uint16' does not name a type SimpleKeyboard line 142 1207455680601 741
/usr/include/SDL/SDL_events.h error: 'Uint32' has not been declared SimpleKeyboard line 265 1207455680615 762
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 113 1207455680592 727
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 114 1207455680592 728
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 115 1207455680593 729
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 120 1207455680593 730
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 121 1207455680594 731
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 122 1207455680595 732
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 128 1207455680595 733
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 129 1207455680596 734
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 130 1207455680597 735
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 138 1207455680598 737
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 139 1207455680599 738
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 140 1207455680599 739
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 141 1207455680600 740
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 147 1207455680601 742
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 148 1207455680602 743
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 149 1207455680603 744
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 155 1207455680603 745
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 156 1207455680604 746
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 157 1207455680605 747
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 164 1207455680606 748
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 165 1207455680606 749
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 166 1207455680607 750
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 167 1207455680608 751
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 177 1207455680608 752
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 178 1207455680609 753
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 179 1207455680610 754
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 180 1207455680610 755
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 188 1207455680611 756
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 195 1207455680612 757
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 200 1207455680612 758
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 205 1207455680613 759
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 215 1207455680614 760
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 221 1207455680615 761
/usr/include/SDL/SDL_events.h error: 'Uint8' does not name a type SimpleKeyboard line 328 1207455680616 763
/usr/include/SDL/SDL_joystick.h error: 'Uint8' does not name a type SimpleKeyboard line 140 1207455680590 725
/usr/include/SDL/SDL_joystick.h error: 'Uint8' does not name a type SimpleKeyboard line 153 1207455680591 726
/usr/include/SDL/SDL_keyboard.h error: 'Uint16' does not name a type SimpleKeyboard line 58 1207455680531 611
/usr/include/SDL/SDL_keyboard.h error: 'Uint8' does not name a type SimpleKeyboard line 55 1207455680531 610
/usr/include/SDL/SDL_keyboard.h error: expected initializer before '*' token SimpleKeyboard line 96 1207455680531 612
/usr/include/SDL/SDL_mouse.h error: 'data' was not declared in this scope SimpleKeyboard line 84 1207455680587 721
/usr/include/SDL/SDL_mouse.h error: 'mask' was not declared in this scope SimpleKeyboard line 84 1207455680588 722
/usr/include/SDL/SDL_mouse.h error: 'Uint16' was not declared in this scope SimpleKeyboard line 68 1207455680584 717
/usr/include/SDL/SDL_mouse.h error: 'Uint8' does not name a type SimpleKeyboard line 55 1207455680579 713
/usr/include/SDL/SDL_mouse.h error: 'Uint8' does not name a type SimpleKeyboard line 63 1207455680580 714
/usr/include/SDL/SDL_mouse.h error: 'Uint8' was not declared in this scope SimpleKeyboard line 84 1207455680586 720
/usr/include/SDL/SDL_mouse.h error: expected ';' before '*' token SimpleKeyboard line 42 1207455680576 708
/usr/include/SDL/SDL_mouse.h error: expected ';' before '*' token SimpleKeyboard line 43 1207455680578 710
/usr/include/SDL/SDL_mouse.h error: expected ';' before '*' token SimpleKeyboard line 44 1207455680579 712
/usr/include/SDL/SDL_mouse.h error: expected primary-expression before 'int' SimpleKeyboard line 84 1207455680588 723
/usr/include/SDL/SDL_mouse.h error: initializer expression list treated as compound expression SimpleKeyboard line 68 1207455680585 718
/usr/include/SDL/SDL_mouse.h error: initializer expression list treated as compound expression SimpleKeyboard line 84 1207455680590 724
/usr/include/SDL/SDL_mouse.h error: ISO C++ forbids declaration of 'Uint8' with no type SimpleKeyboard line 42 1207455680576 707
/usr/include/SDL/SDL_mouse.h error: ISO C++ forbids declaration of 'Uint8' with no type SimpleKeyboard line 43 1207455680577 709
/usr/include/SDL/SDL_mouse.h error: ISO C++ forbids declaration of 'Uint8' with no type SimpleKeyboard line 44 1207455680578 711
/usr/include/SDL/SDL_mouse.h error: variable or field 'SDL_WarpMouse' declared void SimpleKeyboard line 68 1207455680583 716
/usr/include/SDL/SDL_mutex.h error: 'Uint32' does not name a type SimpleKeyboard line 114 1207455680518 555
/usr/include/SDL/SDL_mutex.h error: 'Uint32' has not been declared SimpleKeyboard line 106 1207455680518 554
/usr/include/SDL/SDL_mutex.h error: 'Uint32' has not been declared SimpleKeyboard line 154 1207455680518 556
/usr/include/SDL/SDL_mutex.h error: 'Uint32' was not declared in this scope SimpleKeyboard line 84 1207455680518 553
/usr/include/SDL/SDL_rwops.h error: 'Uint16' does not name a type SimpleKeyboard line 122 1207455680520 566
/usr/include/SDL/SDL_audio.h warning: 'SDL_FreeWAV' initialized and declared 'extern' SimpleKeyboard line 199 1207455680524 588
/usr/include/SDL/SDL_audio.h warning: 'SDL_MixAudio' initialized and declared 'extern' SimpleKeyboard line 230 1207455680526 596
/usr/include/SDL/SDL_mouse.h warning: 'SDL_CreateCursor' initialized and declared 'extern' SimpleKeyboard line 84 1207455680585 719
/usr/include/SDL/SDL_mouse.h warning: 'SDL_WarpMouse' initialized and declared 'extern' SimpleKeyboard line 68 1207455680583 715
/usr/include/SDL/SDL_mutex.h warning: 'SDL_CreateSemaphore' initialized and declared 'extern' SimpleKeyboard line 84 1207455680517 552
/usr/include/SDL/SDL_timer.h warning: 'SDL_Delay' initialized and declared 'extern' SimpleKeyboard line 49 1207455680618 765
/usr/include/SDL/SDL_video.h warning: 'SDL_CreateRGBSurface' initialized and declared 'extern' SimpleKeyboard line 508 1207455680567 694
/usr/include/SDL/SDL_video.h warning: 'SDL_GetGammaRamp' initialized and declared 'extern' SimpleKeyboard line 406 1207455680551 665
/usr/include/SDL/SDL_video.h warning: 'SDL_GetRGB' initialized and declared 'extern' SimpleKeyboard line 463 1207455680555 673
/usr/include/SDL/SDL_video.h warning: 'SDL_GetRGBA' initialized and declared 'extern' SimpleKeyboard line 469 1207455680560 683
warning: unused parameter 'argc' SimpleKeyboard main.cpp line 40 1207455680625 776
warning: unused parameter 'argv' SimpleKeyboard main.cpp line 40 1207455680625 777
I would be very glad, just to use the keyboard, but even this I cant solve.
This amazes me. Everywhere in the inet i just find the words yum install...
and nobody seems to have any problems, except me!

I can really need some help, please.

Grateful
alex
jimparis
Posts: 1145
Joined: Fri Jun 10, 2005 4:21 am
Location: Boston

Post by jimparis »

What is that output from?
Severity and Description Path Resource Location Creation Time Id
/usr/include/SDL/SDL_active.h error: 'Uint8' does not name a type SimpleKeyboard line 49 1207455680530 609
That's not a GCC error message...
Glas
Posts: 26
Joined: Sun Jan 06, 2008 7:17 pm

Post by Glas »

Hi, this is from eclipse.

This error messages occur, when I install SDL and SDL-devel with yum.

If I compile SDL myself, than I cant even include the static lib. It just says:
Severity and Description Path Resource Location Creation Time Id
ld: cannot find -lSDL SimpleKeyboard line 0 1207507214117 2085
ld: skipping incompatible /usr/local/lib/libSDL.a when searching for -lSDL SimpleKeyboard line 0 1207507214117 2084
ld: skipping incompatible /usr/local/lib/libSDL.so when searching for -lSDL SimpleKeyboard line 0 1207507214117 2083
warning: unused parameter 'argc' SimpleKeyboard main.cpp line 41 1207507214117 2081
warning: unused parameter 'argv' SimpleKeyboard main.cpp line 41 1207507214117 2082
Any idea?
Glas
Posts: 26
Joined: Sun Jan 06, 2008 7:17 pm

Post by Glas »

this just starts to get on nerves.
Nothing goes right.

I just got error messages, no matter what I do. And the error messages differ from each other.

So. Can anybody tell me please how he/she did sdl or directfb on the ps3?
Or if you can cross-compile, please tell me how you do it!?

really thanks
Compound
Posts: 48
Joined: Thu May 12, 2005 10:29 am

Post by Compound »

is it not yum install SDL etc ??
Glas
Posts: 26
Joined: Sun Jan 06, 2008 7:17 pm

Post by Glas »

jep. Compound, your right. I forgot it to write it.
Originally I wrote
yum install SDL SDL-devel
ofcourse. Sorry for that.

But anyway. Thanks for your help. I just fixed it. I really was just before giving everything up!!! Almost.

EDIT:
Ofcourse I have to say what went wrong.
As I said, I installed the sdl libs with yum on my pc and on the ps3.
Originally I linked to the shared lib on the pc file system. I thought, when choosing
the right path, the program looks in the right path on the ps3.

So the program compiled just fine, but at execution time the cell box terminated.
So I mapped the ps3 file system at system root to my pc and used the static lib
from the ps3. But not only the .a file, I also have to use the include dir from the ps3, whyever.
So I could have omitted a installation of sdl on my pc.
/EDIT

Thanks
Post Reply