Grand prix legends recognize only two joystick axis

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Grand prix legends recognize only two joystick axis

Post by Xwang »

Hi,
I'm trying to use my saitek cyborg evolution to play with grand prix legends.
The device is correctly recognized by linux as a 6 axis 12 button device:

Code: Select all

jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Saitek Cyborg USB Stick) has 6 axes (X, Y, Z, Rz, Hat0X, Hat0Y)
and 12 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6).
Testing ... (interrupt to exit)
Axes:  0:     0  1: -1221  2: 32766  3:   358  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off
However in the control page of the game the only two axis which works are axis 0 and 1 (and not all the buttons are functional). This is the output I obtain using winedebug:

Code: Select all

andreak@pro5av:~$ taskset -c 1 env WINEPREFIX="/home/andreak/.wine" WINEDEBUG=+dinput wine "C:\Sierra\GPL\gpl.exe"
Warning: could not find DOS drive for current working directory '/home/andreak', starting in the Windows directory.
err:service:load_reg_dword Error 1804 while reading value L"Type"                                                  
err:service:scmdatabase_load_services Error 1804 reading registry key for service L"papycpu2" - skipping           
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16                                  
trace:dinput:DirectInputCreateEx (0x400000,0500,{9a4cb684-236d-11d3-8e9d-00c04f6844ae},0x7e6d78,(nil))             
trace:dinput:check_hook_thread IDirectInputs left: 1                                                               
trace:dinput:IDirectInputAImpl_QueryInterface (0x139588)->({9a4cb684-236d-11d3-8e9d-00c04f6844ae},0x7e6d78)        
trace:dinput:IDirectInputAImpl_AddRef (0x139588) incrementing from 0                                               
trace:dinput:IDirectInputAImpl_EnumDevices (this=0x139588,0x0004 'DIDEVTYPE_JOYSTICK',0x4c3890,(nil),0001)         
trace:dinput:_dump_EnumDevices_dwFlags  flags:                                                                     
trace:dinput:IDirectInputAImpl_EnumDevices   - checking device 0 ('Wine mouse driver')                             
trace:dinput:IDirectInputAImpl_EnumDevices   - checking device 1 ('Wine keyboard driver')                          
trace:dinput:IDirectInputAImpl_EnumDevices   - checking device 2 ('Wine Linux-input joystick driver')              
warn:dinput:find_joydevs Failed to open "/dev/input/event0": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event1": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event2": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event3": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event4": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event5": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event6": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event7": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event8": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event9": 13 Permesso negato                                    
warn:dinput:find_joydevs Failed to open "/dev/input/event10": 13 Permesso negato                                   
warn:dinput:find_joydevs Failed to open "/dev/input/event11": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event12": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event13": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event14": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event15": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event16": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event17": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event18": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event19": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event20": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event21": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event22": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event23": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event24": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event25": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event26": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event27": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event28": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event29": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event30": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event31": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event32": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event33": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event34": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event35": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event36": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event37": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event38": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event39": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event40": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event41": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event42": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event43": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event44": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event45": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event46": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event47": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event48": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event49": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event50": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event51": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event52": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event53": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event54": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event55": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event56": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event57": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event58": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event59": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event60": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event61": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event62": 2 Nessun file o directory                            
warn:dinput:find_joydevs Failed to open "/dev/input/event63": 2 Nessun file o directory                            
trace:dinput:IDirectInputAImpl_EnumDevices   - checking device 3 ('Wine Linux joystick driver')                    
trace:dinput:joydev_enum_deviceA Enumerating the linux Joystick device: /dev/input/js0 (Saitek Cyborg USB Stick)   
trace:dinput:IDirectInput7AImpl_CreateDeviceEx (0x139588)->({9e573ed9-7734-0000-8d4a-23903fb6bdf7}, (null), 0x32e5a8, (nil))
trace:dinput:joydev_create_deviceA 0x139588 {9e573ed9-7734-0000-8d4a-23903fb6bdf7} (nil) 0x32e5a8                           
trace:dinput:alloc_device {9e573ed9-7734-0000-8d4a-23903fb6bdf7} 0x7ee71b00 0x139588 0x32e5a8 0                             
trace:dinput:IDirectInputAImpl_AddRef (0x139588) incrementing from 1                                                        
trace:dinput:_dump_DIDATAFORMAT Dumping DIDATAFORMAT structure:                                                             
trace:dinput:_dump_DIDATAFORMAT   - dwSize: 24                                                                              
trace:dinput:_dump_DIDATAFORMAT   - dwObjsize: 16                                                                           
trace:dinput:_dump_DIDATAFORMAT   - dwFlags: 0x00000001 (DIDF_ABSAXIS)                                                      
trace:dinput:_dump_DIDATAFORMAT   - dwDataSize: 272                                                                         
trace:dinput:_dump_DIDATAFORMAT   - dwNumObjs: 18                                                                           
trace:dinput:_dump_DIDATAFORMAT   - Object 0:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e0-c9f3-11cf-bfc7-444553540000} ('GUID_XAxis')                         
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 0                                                                            
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000002                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_ABSAXIS / Instance:   0                                                 
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 1:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e1-c9f3-11cf-bfc7-444553540000} ('GUID_YAxis')                         
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 4                                                                            
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000102                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_ABSAXIS / Instance:   1                                                 
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 2:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e2-c9f3-11cf-bfc7-444553540000} ('GUID_ZAxis')                         
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 8                                                                            
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000202                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_ABSAXIS / Instance:   2                                                 
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 3:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f4-c9f3-11cf-bfc7-444553540000} ('GUID_RxAxis')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 12                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000302                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_ABSAXIS / Instance:   3                                                 
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 4:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f5-c9f3-11cf-bfc7-444553540000} ('GUID_RyAxis')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 16                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000402                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_ABSAXIS / Instance:   4                                                 
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 5:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e3-c9f3-11cf-bfc7-444553540000} ('GUID_RzAxis')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 20                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000502                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_ABSAXIS / Instance:   5                                                 
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 6:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 48                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000004                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   0                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 7:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 49                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000104                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   1                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 8:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 50                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000204                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   2                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 9:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 51                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000304                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   3                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 10:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 52                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000404                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   4                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 11:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 53                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000504                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   5                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 12:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 54                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000604                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   6                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 13:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 55                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000704                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   7                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 14:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 56                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000804                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   8                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 15:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 57                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000904                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:   9                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 16:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 58                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000a04                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:  10                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 17:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f0-c9f3-11cf-bfc7-444553540000} ('GUID_Button')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 59                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x00000b04                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON / Instance:  11                                               
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:alloc_device axis_map[0] = 0                                                                                   
trace:dinput:alloc_device axis_map[1] = 1                                                                                   
trace:dinput:alloc_device axis_map[2] = 2                                                                                   
trace:dinput:alloc_device axis_map[3] = 3                                                                                   
trace:dinput:alloc_device axis_map[4] = 4                                                                                   
trace:dinput:alloc_device axis_map[5] = 5                                                                                   
trace:dinput:_dump_DIDEVCAPS dwSize: 44                                                                                     
trace:dinput:_dump_DIDEVCAPS dwFlags: 00000001                                                                              
trace:dinput:_dump_DIDEVCAPS dwDevType: 00000204 UNKNOWN                                                                    
trace:dinput:_dump_DIDEVCAPS dwAxes: 6                                                                                      
trace:dinput:_dump_DIDEVCAPS dwButtons: 12                                                                                  
trace:dinput:_dump_DIDEVCAPS dwPOVs: 0                                                                                      
trace:dinput:_dump_DIDEVCAPS dwFFSamplePeriod: 0                                                                            
trace:dinput:_dump_DIDEVCAPS dwFFMinTimeResolution: 0                                                                       
trace:dinput:_dump_DIDEVCAPS dwFirmwareRevision: 0                                                                          
trace:dinput:_dump_DIDEVCAPS dwHardwareRevision: 0                                                                          
trace:dinput:_dump_DIDEVCAPS dwFFDriverVersion: 0                                                                           
trace:dinput:IDirectInputDevice2AImpl_QueryInterface (this=0x139618,{5944e682-c92e-11cf-bfc7-444553540000},0x32e5c0)        
trace:dinput:IDirectInputDevice2AImpl_SetCooperativeLevel (0x139618) 0x10028,0x00000005                                     
trace:dinput:_dump_cooperativelevel_DI  cooperative level : DISCL_EXCLUSIVE DISCL_FOREGROUND                                
trace:dinput:IDirectInputDevice2AImpl_SetDataFormat (0x139618) 0x519910                                                     
trace:dinput:_dump_DIDATAFORMAT Dumping DIDATAFORMAT structure:                                                             
trace:dinput:_dump_DIDATAFORMAT   - dwSize: 24                                                                              
trace:dinput:_dump_DIDATAFORMAT   - dwObjsize: 16                                                                           
trace:dinput:_dump_DIDATAFORMAT   - dwFlags: 0x00000001 (DIDF_ABSAXIS)                                                      
trace:dinput:_dump_DIDATAFORMAT   - dwDataSize: 80                                                                          
trace:dinput:_dump_DIDATAFORMAT   - dwNumObjs: 44                                                                           
trace:dinput:_dump_DIDATAFORMAT   - Object 0:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e0-c9f3-11cf-bfc7-444553540000} ('GUID_XAxis')                         
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 0                                                                            
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 1:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e1-c9f3-11cf-bfc7-444553540000} ('GUID_YAxis')                         
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 4                                                                            
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 2:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e2-c9f3-11cf-bfc7-444553540000} ('GUID_ZAxis')                         
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 8                                                                            
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 3:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f4-c9f3-11cf-bfc7-444553540000} ('GUID_RxAxis')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 12                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 4:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f5-c9f3-11cf-bfc7-444553540000} ('GUID_RyAxis')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 16                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 5:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e3-c9f3-11cf-bfc7-444553540000} ('GUID_RzAxis')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 20                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 6:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e4-c9f3-11cf-bfc7-444553540000} ('GUID_Slider')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 24                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 7:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02e4-c9f3-11cf-bfc7-444553540000} ('GUID_Slider')                        
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 28                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff03                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_RELAXIS DIDFT_ABSAXIS DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE      
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000100                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 8:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f2-c9f3-11cf-bfc7-444553540000} ('GUID_POV')                           
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 32                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff10                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_POV DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE                        
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 9:                                                                               
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f2-c9f3-11cf-bfc7-444553540000} ('GUID_POV')                           
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 36                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff10                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_POV DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE                        
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 10:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f2-c9f3-11cf-bfc7-444553540000} ('GUID_POV')                           
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 40                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff10                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_POV DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE                        
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 11:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: {a36d02f2-c9f3-11cf-bfc7-444553540000} ('GUID_POV')                           
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 44                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff10                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_POV DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE                        
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 12:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 48                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 13:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 49                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 14:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 50                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 15:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 51                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 16:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 52                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 17:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 53                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 18:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 54                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 19:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 55                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 20:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 56                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 21:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 57                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 22:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 58                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 23:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 59                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 24:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 60                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 25:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 61                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 26:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 62                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 27:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 63                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 28:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 64                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 29:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 65                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 30:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 66                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 31:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 67                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 32:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 68                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 33:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 69                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 34:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 70                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 35:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 71                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 36:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 72                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 37:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 73                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_dump_DIDATAFORMAT       * dwFlags: 0x00000000                                                                 
trace:dinput:_dump_DIDATAFORMAT   - Object 38:                                                                              
trace:dinput:_dump_DIDATAFORMAT       * GUID: (null) ('null GUID')                                                          
trace:dinput:_dump_DIDATAFORMAT       * dwOfs: 74                                                                           
trace:dinput:_dump_DIDATAFORMAT       * dwType: 0x80ffff0c                                                                  
trace:dinput:_dump_DIDATAFORMAT         Type: DIDFT_PSHBUTTON DIDFT_TGLBUTTON DIDFT_OPTIONAL / Instance: DIDFT_ANYINSTANCE  
trace:dinput:_
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Grand prix legends recognize only two joystick axis

Post by vitamin »

Xwang wrote:warn:dinput:find_joydevs Failed to open "/dev/input/event0": 13 Permesso negato
This is your problem. Fix access to the event* device associated with your joystick.
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Re: Grand prix legends recognize only two joystick axis

Post by Xwang »

vitamin wrote:
Xwang wrote:warn:dinput:find_joydevs Failed to open "/dev/input/event0": 13 Permesso negato
This is your problem. Fix access to the event* device associated with your joystick.
This is the output of ls on the /dev/input folder:

/dev/input$ ls -all
totale 0
drwxr-xr-x 4 root root 400 2009-03-15 23:28 .
drwxr-xr-x 14 root root 14860 2009-03-15 23:28 ..
drwxr-xr-x 2 root root 120 2009-03-15 23:28 by-id
drwxr-xr-x 2 root root 220 2009-03-15 23:28 by-path
crw-rw---- 1 root root 13, 64 2009-03-15 10:19 event0
crw-rw---- 1 root root 13, 65 2009-03-15 10:19 event1
crw-rw---- 1 root root 13, 74 2009-03-15 23:28 event10
crw-rw---- 1 root root 13, 66 2009-03-15 10:19 event2
crw-rw---- 1 root root 13, 67 2009-03-15 10:19 event3
crw-rw---- 1 root root 13, 68 2009-03-15 10:19 event4
crw-rw---- 1 root root 13, 69 2009-03-15 10:19 event5
crw-rw---- 1 root root 13, 70 2009-03-15 10:19 event6
crw-rw---- 1 root root 13, 71 2009-03-15 10:19 event7
crw-rw---- 1 root root 13, 72 2009-03-15 10:19 event8
crw-rw---- 1 root root 13, 73 2009-03-15 10:19 event9
crw-rw---- 1 root plugdev 13, 0 2009-03-15 23:28 js0
crw-rw---- 1 root root 13, 63 2009-03-15 11:19 mice
crw-rw---- 1 root root 13, 32 2009-03-15 11:19 mouse0
crw-rw---- 1 root root 13, 33 2009-03-15 11:19 mouse1
crw-rw---- 1 root root 13, 34 2009-03-15 10:19 mouse2

I've installed the system on this computer 15 days ago so these are the standard for my distro (kubuntu). Should I open a bug for my distro to change the owner of such files to root:plugdev?
Xwang
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: Grand prix legends recognize only two joystick axis

Post by vitamin »

Xwang wrote:I've installed the system on this computer 15 days ago so these are the standard for my distro (kubuntu). Should I open a bug for my distro to change the owner of such files to root:plugdev?
Yes it's a distro bug. Changing group or any other means of granting regular user access to their devices is fine.
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

On Sun, 2009-03-15 at 17:33 -0500, Xwang wrote:
vitamin wrote:
Xwang wrote:
warn:dinput:find_joydevs Failed to open "/dev/input/event0": 13 Permesso negato
This is your problem. Fix access to the event* device associated with your joystick.
If your distro uses udev (Unified device control), which it probably
does, you can fix this yourself.

The rules used by udev to set up devices are in /etc/udev/rules.d
You shouldn't change the rules files because any kernel upgrade might
overwrite them, but you can add a custom file. The rule that's affecting
you is:

KERNEL=="mouse*|mice|event*", NAME="input/%k", MODE="0640"

in '50-udev-default.rules'. These files are applied in lexical sort
order at boot time, so you can add a file called, say,
'55-my-custom.rules' to contain the following lines:

# Custom rules
#
# Give user,group and world read and write access to /dev/input/event*
#
KERNEL=="event*", NAME="input/%k", MODE="0644"


This rule will override the access permissions set in
'50-udev-default.rules'. You'll need to do this as root. Use any text
editor (vi, emacs or gedit will all be fine) to create the file, which
must be:

- owned by root
- in the root group
- read and write accessible to root
- read accessible by group and world

Check this once you've created it and use chown and/or chmod to fix
ownership and access as necessary. If you try this be very careful not
to change any of the existing files: you can upset the entire i/o system
if you damage them.

Make sure you keep a copy of your custom file somewhere safe. You may
need it again. You'll almost certainly need to reinstall it if you do a
clean install of a future Ubuntu release or change to a different
distro.


HTH
Martin
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

Hi,
I've tried to do as you suggested, but after having rebooted the pc, nothing has changed.
This is the list of the device files:
andreak@pro5av:/dev/input$ ls -all
totale 0
drwxr-xr-x 4 root root 400 2009-03-17 23:08 .
drwxr-xr-x 14 root root 14740 2009-03-17 23:08 ..
drwxr-xr-x 2 root root 120 2009-03-17 23:08 by-id
drwxr-xr-x 2 root root 220 2009-03-17 23:08 by-path
crw-rw---- 1 root root 13, 64 2009-03-17 23:06 event0
crw-rw---- 1 root root 13, 65 2009-03-17 23:06 event1
crw-rw---- 1 root root 13, 74 2009-03-17 23:08 event10
crw-rw---- 1 root root 13, 66 2009-03-17 23:06 event2
crw-rw---- 1 root root 13, 67 2009-03-17 23:06 event3
crw-rw---- 1 root root 13, 68 2009-03-17 23:06 event4
crw-rw---- 1 root root 13, 69 2009-03-17 23:06 event5
crw-rw---- 1 root root 13, 70 2009-03-17 23:06 event6
crw-rw---- 1 root root 13, 71 2009-03-17 23:06 event7
crw-rw---- 1 root root 13, 72 2009-03-17 23:06 event8
crw-rw---- 1 root root 13, 73 2009-03-17 23:06 event9
crw-rw---- 1 root plugdev 13, 0 2009-03-17 23:08 js0
crw-rw---- 1 root root 13, 63 2009-03-18 00:05 mice
crw-rw---- 1 root root 13, 32 2009-03-18 00:05 mouse0
crw-rw---- 1 root root 13, 33 2009-03-17 23:06 mouse1
crw-rw---- 1 root root 13, 34 2009-03-17 23:06 mouse2

and this is the lst of udev rules:

andreak@pro5av:/etc/udev/rules.d$ ls -all
totale 204
drwxr-xr-x 2 root root 4096 2009-03-17 23:02 .
drwxr-xr-x 3 root root 4096 2009-02-28 10:01 ..
-rw-r--r-- 1 root root 1547 2008-10-13 15:18 024_hpmud.rules
lrwxrwxrwx 1 root root 20 2009-02-28 10:01 025_libchipcard.rules -> ../libchipcard.rules
-rw-r--r-- 1 root root 400 2008-10-24 12:39 05-options.rules
-rw-r--r-- 1 root root 208 2009-03-01 22:28 10-vboxdrv.rules
-rw-r--r-- 1 root root 3215 2008-10-24 12:39 20-names.rules
-rw-r--r-- 1 root root 141 2008-10-24 12:39 30-cdrom_id.rules
-rw-r--r-- 1 root root 814 2008-10-24 12:39 40-basic-permissions.rules
-rw-r--r-- 1 root root 3109 2008-10-24 12:39 40-permissions.rules
-rw-r--r-- 1 root root 30 2008-09-25 18:06 45-fuse.rules
-rw-r--r-- 1 root root 115 2008-10-13 15:18 45-hplip.rules
-rw-r--r-- 1 root root 39784 2008-08-01 17:53 45-libmtp8.rules
-rw-r--r-- 1 root root 1704 2008-06-19 11:52 45-libnjb.rules
-rw-r--r-- 1 root root 61 2008-10-26 20:42 50-virtualbox-ose.rules
-rw-r--r-- 1 root root 6661 2008-10-22 05:34 50-xserver-xorg-input-wacom.rules
-rw-r--r-- 1 root root 115 2008-10-13 15:18 55-hpmud.rules
-rw-r--r-- 1 root root 1431 2008-10-24 12:39 60-persistent-input.rules
-rw-r--r-- 1 root root 3851 2008-11-03 19:12 60-persistent-storage.rules
-rw-r--r-- 1 root root 1322 2008-10-24 12:39 60-persistent-storage-tape.rules
-rw-r--r-- 1 root root 862 2008-10-24 12:39 60-symlinks.rules
-rw-r--r-- 1 root root 518 2008-10-24 12:39 61-persistent-storage-edd.rules
-rw-r--r-- 1 root root 485 2008-10-27 01:29 62-bluez-hid2hci.rules
-rw-r--r-- 1 root root 1262 2008-10-20 23:24 65-dmsetup.rules
-rw-r--r-- 1 root root 196 2008-10-24 12:39 65-id-type.rules
-rw-r--r-- 1 root root 761 2009-02-28 01:49 70-persistent-cd.rules
-rw-r--r-- 1 root root 558 2009-02-28 03:28 70-persistent-net.rules
-rw-r--r-- 1 root root 390 2008-10-24 12:39 75-cd-aliases-generator.rules
-rw-r--r-- 1 root root 2403 2008-10-24 12:39 75-persistent-net-generator.rules
-rw-r--r-- 1 root root 563 2008-10-24 12:39 80-programs.rules
-rw-r--r-- 1 root root 171 2008-09-25 08:13 85-alsa.rules
-rw-r--r-- 1 root root 1444 2008-08-06 11:10 85-brltty.rules
-rw-r--r-- 1 root root 84 2008-06-19 10:47 85-hdparm.rules
-rw-r--r-- 1 root root 1855 2008-09-09 10:52 85-hplj10xx.rules
-rw-r--r-- 1 root root 126 2008-09-25 15:07 85-hwclock.rules
-rw-r--r-- 1 root root 954 2008-10-13 00:19 85-ifupdown.rules
-rw-r--r-- 1 root root 950 2007-10-23 19:02 85-pcmcia.rules
-rw-r--r-- 1 root root 82 2008-10-26 09:58 90-hal.rules
-rw-r--r-- 1 root root 2862 2008-10-24 12:39 90-modprobe.rules
-rw-r--r-- 1 root root 137 2009-03-17 23:02 94-my-custom.rules
-rw-r--r-- 1 root root 234 2008-10-24 12:39 95-udev-late.rules
-rw-r--r-- 1 root root 1224 2008-10-24 12:39 README

As you can see I've created the rule so that to be the last to be executed, but it seems it does nothing.
This is the content of 94.my-custom.rules file:

andreak@pro5av:/etc/udev/rules.d$ cat 94-my-custom.rules
# Custom rules
#
# Give user,group and world read and write access to /dev/input/event*
#
KERNEL=="event*", NAME="input/%k", MODE="0644"


Is there something wrong?
Xwang
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

I've tried to do as you suggested, but after having rebooted the pc,
nothing has changed.
Your new rule looks fine and its placement should also be OK. Your rules
set is rather different from mine, but unless there's another overriding
rule in 95-udev-late.rules that shouldn't matter.

Please do the following as root and post the results:

cd /etc/udev/rules.d
grep event *
Is there something wrong?
Setting MODE to 0666 may be better than 0644 - I was assuming that the
event devices were read-only but they may be read-write since root has
read/write access.

As a faster temporary workround, after boot you could experiment with
changing the access permissions directly as root:

chmod uga+rw /dev/input/event*
ls -l /dev/input/event*

which should show that the permissions group is now "crw-rw-rw-" If this
takes, the joystick should now work OK.

I use exactly this technique to give all users access to serial ports,
so I'm slightly mystified why it didn't work for you.


Martin
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

Hi,
I've tried changing the permission by hand, but still the joystick is recognized in Grand prix legends like a 2 axis one.
This is the output:

andreak@pro5av:/dev/input$ sudo chmod uga+rw event*
[sudo] password for andreak:
andreak@pro5av:/dev/input$ ls -all
totale 0
drwxr-xr-x 4 root root 360 2009-03-18 19:11 .
drwxr-xr-x 14 root root 14700 2009-03-18 19:11 ..
drwxr-xr-x 2 root root 80 2009-03-18 19:11 by-id
drwxr-xr-x 2 root root 180 2009-03-18 19:11 by-path
crw-rw-rw- 1 root root 13, 64 2009-03-18 19:11 event0
crw-rw-rw- 1 root root 13, 65 2009-03-18 19:11 event1
crw-rw-rw- 1 root root 13, 66 2009-03-18 19:11 event2
crw-rw-rw- 1 root root 13, 67 2009-03-18 19:11 event3
crw-rw-rw- 1 root root 13, 68 2009-03-18 19:11 event4
crw-rw-rw- 1 root root 13, 69 2009-03-18 19:11 event5
crw-rw-rw- 1 root root 13, 70 2009-03-18 19:11 event6
crw-rw-rw- 1 root root 13, 71 2009-03-18 19:11 event7
crw-rw-rw- 1 root root 13, 72 2009-03-18 19:11 event8
crw-rw-rw- 1 root root 13, 73 2009-03-18 19:11 event9
crw-rw---- 1 root root 13, 63 2009-03-18 20:11 mice
crw-rw---- 1 root root 13, 32 2009-03-18 20:11 mouse0
crw-rw---- 1 root root 13, 33 2009-03-18 19:11 mouse1
crw-rw---- 1 root root 13, 34 2009-03-18 19:11 mouse2
andreak@pro5av:/dev/input$ taskset -c 1 env WINEPREFIX="/home/andreak/.wine" WINEDEBUG=+dinput wine "C:\Sierra\GPL\gpl.exe"
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

Xwang wrote:/andreak/.wine" WINEDEBUG=+dinput wine "C:\Sierra\GPL\gpl.exe"
Pastebin output it cut-off on the most interesting part. Please don't paste here so much logs.
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

How can I send the log, then? I've created a compressed file , but there is no option to send attachments!!!
Xwang
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

On Wed, 2009-03-18 at 15:16 -0500, Xwang wrote:
How can I send the log, then? I've created a compressed file , but there is no option to send attachments!!!
Xwang
Put it in Pastebin (pastebin.com) and post the reference on this list.

I don't know what their file size limit is, but I think itds more for
pasting (trimmed) text rather than compressed files.



Martin
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

This is the link:
http://pastebin.com/m53dd6266

Xwang
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

On Wed, 2009-03-18 at 15:57 -0500, Xwang wrote:
OK, but what did "ls -l" show after you ran

chmod uga+rw /dev/input/event


Martin
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

sudo chmod uga+rw /dev/input/event*
[sudo] password for andreak:
andreak@pro5av:/dev/input$ ls -l
totale 0
drwxr-xr-x 2 root root 80 2009-03-18 21:17 by-id
drwxr-xr-x 2 root root 180 2009-03-18 21:17 by-path
crw-rw-rw- 1 root root 13, 64 2009-03-18 20:02 event0
crw-rw-rw- 1 root root 13, 65 2009-03-18 20:02 event1
crw-rw-rw- 1 root root 13, 66 2009-03-18 20:02 event2
crw-rw-rw- 1 root root 13, 67 2009-03-18 20:02 event3
crw-rw-rw- 1 root root 13, 68 2009-03-18 20:02 event4
crw-rw-rw- 1 root root 13, 69 2009-03-18 20:02 event5
crw-rw-rw- 1 root root 13, 70 2009-03-18 20:02 event6
crw-rw-rw- 1 root root 13, 71 2009-03-18 20:02 event7
crw-rw-rw- 1 root root 13, 72 2009-03-18 20:02 event8
crw-rw-rw- 1 root root 13, 73 2009-03-18 20:02 event9
crw-rw---- 1 root root 13, 63 2009-03-18 21:02 mice
crw-rw---- 1 root root 13, 32 2009-03-18 21:02 mouse0
crw-rw---- 1 root root 13, 33 2009-03-18 21:02 mouse1
crw-rw---- 1 root root 13, 34 2009-03-18 20:02 mouse2

Xwang
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

On Wed, 2009-03-18 at 17:23 -0500, Xwang wrote:
sudo chmod uga+rw /dev/input/event*
[sudo] password for andreak:
andreak@pro5av:/dev/input$ ls -l
totale 0
drwxr-xr-x 2 root root 80 2009-03-18 21:17 by-id
drwxr-xr-x 2 root root 180 2009-03-18 21:17 by-path
crw-rw-rw- 1 root root 13, 64 2009-03-18 20:02 event0
crw-rw-rw- 1 root root 13, 65 2009-03-18 20:02 event1
crw-rw-rw- 1 root root 13, 66 2009-03-18 20:02 event2
crw-rw-rw- 1 root root 13, 67 2009-03-18 20:02 event3
crw-rw-rw- 1 root root 13, 68 2009-03-18 20:02 event4
crw-rw-rw- 1 root root 13, 69 2009-03-18 20:02 event5
crw-rw-rw- 1 root root 13, 70 2009-03-18 20:02 event6
crw-rw-rw- 1 root root 13, 71 2009-03-18 20:02 event7
crw-rw-rw- 1 root root 13, 72 2009-03-18 20:02 event8
crw-rw-rw- 1 root root 13, 73 2009-03-18 20:02 event9
crw-rw---- 1 root root 13, 63 2009-03-18 21:02 mice
crw-rw---- 1 root root 13, 32 2009-03-18 21:02 mouse0
crw-rw---- 1 root root 13, 33 2009-03-18 21:02 mouse1
crw-rw---- 1 root root 13, 34 2009-03-18 20:02 mouse2

Xwang
And was that pastebin log showing that /dev/input/event* devices were
"not available" for a run with this set of permissions or the default
permissions that get reinstated on every boot?

Also, what did the grep run show?


Martin
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

Xwang wrote:Hi,
I've tried changing the permission by hand, but still the joystick is recognized in Grand prix legends like a 2 axis one.
I see it reports all 6 axis - x, y, z, rx, ry, rz. If you want to remap them you'll have to figure out why you don't have evdev device for this joystick.
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

On Wed, 2009-03-18 at 13:56 -0500, Xwang wrote:
Hi,
I've tried changing the permission by hand, but still the joystick is
recognized in Grand prix legends like a 2 axis one.
OK, so it looks as if it is apparently finding all the /dev/input/event*
devices you have. After that its looking to see if there are are any
more in the range event10 to event64. I can't tell if it needs all of
these or if its just scanning to see whether there are any more: I don't
know either that stick or the game so I can't tell what else it needs.

As Vitamin says, you need to talk to your stick maker and/or the Grand
Prix Legends authors to find out what else it needs.

Meanwhile, if you want to make those modified event read-write
permissions permanent, try changing the rule in 94-my-custom.rules to
this:

KERNEL=="event*", MODE="0666"

I've tested this on my Fedora 9 system - it works.

I loked more carefully at the udev manpage and discovered that rules
containing a NAME="something" assignment are special because they create
a file in /dev that corresponds to a kernel event. After that all rules
for the same kernel event that contain NAME="anything" are ignored
because the file already exists, which is why the rule in your
94-my-custom.rules file didn't work.

If you find out later that you only need read access to the events,
change MODE="0666" to MODE="0644".

BTW, running "ls -l /dev/input/by-id" and "ls -l /dev/input/by-path" may
show you useful stuff since the items in these directories are all
symlinks to the items in /dev/input.


Martin
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

Hi,
I've read your comments, but I haven't understood what you suggest to do. The joystick maker and the game maker do not support linux, but I think that in this case it is a wine problem since the joystick works perfectly in linux. In the next days, I will try to install another game under linux to see if it is a problem of wine itself or of the game under wine.
However I suppose it is a problem of the game itself since I've tried the game under windows xp and here the joystick axis are not recognized.
Xwang
Martin Gregorie

Grand prix legends recognize only two joystick axis

Post by Martin Gregorie »

On Thu, 2009-03-19 at 13:59 -0500, Xwang wrote:
Hi,
I've read your comments, but I haven't understood what you suggest to
do. The joystick maker and the game maker do not support linux, but I
think that in this case it is a wine problem since the joystick works
perfectly in linux.
New data! Would have been nice to know that earlier, since I'd not have
suggested any changes to the udev rules. However, that isn't a problem:
I learnt a little more about the udev subsystem and your computer wasn't
hurt.

In that case I agree with your analysis. The problem has to be in the
game or Wine.
In the next days, I will try to install another game under linux to
see if it is a problem of wine itself or of the game under wine.
However I suppose it is a problem of the game itself since I've tried
the game under windows xp and here the joystick axis are not
recognized.
Not necessarily. It might be an XP problem that Wine faithfully
reproduces.

Do you have a game or a joystick testing/calibration tool that can
detect all the joystick functions under XP? If so, thats the best thing
to install in Wine as a testing tool.

If it works correctly under Wine then the problem is in your game and
you'll need to talk to the game's authors about support for the extra
functions on your joystick.

I've seen this type of problem myself: I think you just have to live
with it. I have a CH joystick (2-axis, throttle wheel, two buttons on
the stick). MSFS used the throttle (though not the buttons IIRC) while
Silent Flight Simulator didn't use either buttons or throttle. I didn't
mind about the buttons since neither are shooters, but it would have
been nice if SFS used the throttle wheel as an airbrake control.


Martin
Xwang
Level 2
Level 2
Posts: 11
Joined: Sat Aug 09, 2008 12:44 pm

Post by Xwang »

Well I have to correct myself.
In Grand prix legends there is a file named controls.cfg that is automatically created the first time a joystick is connected. I've done another test in xp deletiting that file before starting the game and when I've started the game, the joystick has been recognized with all its axes and buttons, so this is definitively a wine problem. Then I've tried the same thing in wine, but stiil it recognizes only two axes. I will try to install (next monday evening probably) another game and if I find it the tool included with the joystick.
Thank you for your help!
Xwang
Locked