chrippa/ds4drv

Left Pad (cross pad) not working

Closed this issue · 1 comments

Hi all,

I recently installed moonlight + ds4drv to stream game to my TV on my Raspberry pi 3 running on debian jessie.

I edited the ds4drv.conf file but i still can't get the cross pad on the left to work in game (Tomb Raider 2013 for example).

If someone can help me to get this work.

Thanks.

This is my conf file :

Many of the settings used here are directly connected to their command line

counterparts, see "ds4drv --help" for more information about available options.

Global options

[ds4drv]

Run ds4drv in background as a daemon

#daemon = true

Location of the log file in daemon mode

#daemon-log = ~/.cache/ds4drv.log

Location of the PID file in daemon mode

#daemon-pid = /tmp/ds4drv.pid

Enable hidraw mode

#hidraw = true

Controller settings

This is the default profile for each controller.

Multiple controllers slots are defined by increasing the number.

Controller sections contain:

Key: A option, these are the same options that can used on the command line

but without the "--" prefix.

Value: The option's value, should be "true" if no value is needed.

See "ds4drv --help" for a complete list of available options.

[controller:1]

Enables LED flash on low battery

battery-flash = true

Sets LED color

led = 0000ff

Enables profile switching

profile-toggle = R1+L1+PS

Profiles to cycle through

profiles = xpad,kbmouse

Profiles

Profiles allows switching controller settings during runtime.

Profile sections always require a name and are then enabled on a controller

with "profiles = [,]".

The same settings available for controllers are used here.

[profile:xpad]
led = ff0000

Emulate the same button mapping as wired Xbox 360 controllers

emulate-xpad = true

[profile:kbmouse]
led = 00ff00

Enable trackpad mouse

trackpad-mouse = true

Custom button mapping

mapping = keyboard

Custom action bindings

bindings = exec_stuff

Mappings

Mappings let you map buttons and sticks to mouse, key and joystick events.

Mapping sections always require a name and are then enabled in a profile

with "mapping = ".

Mapping sections contain:

Key: A Linux input event, see /usr/include/linux/input.h for a complete list

Value: Button on the DS4, use --dump-reports to see all the available buttons

[mapping:keyboard]

General button to key mapping

KEY_UP = dpad_up
KEY_LEFT = dpad_left
KEY_DOWN = dpad_down
KEY_RIGHT = dpad_right
KEY_Z = button_cross
KEY_X = button_circle

Turn analog stick directions into buttons

KEY_W = -left_analog_y
KEY_A = -left_analog_x
KEY_S = +left_analog_y
KEY_D = +left_analog_x

Map relative mouse movement to a analog stick

REL_X = right_analog_x
REL_Y = right_analog_y

Map mouse buttons

BTN_LEFT = button_r2
BTN_RIGHT = button_l2

Emulate mouse wheel on r1 and l1

#REL_WHEELUP = button_l1
#REL_WHEELDOWN = button_r1

Mouse settings

#mouse_sensitivity = 0.6
#mouse_deadzone = 5

Emulate mouse wheel on r2 and l2

#REL_WHEELUP = button_l1
#REL_WHEELDOWN = button_r1

Scroll wheel emulation settings (values are in seconds)

#mouse_scroll_repeat_delay = 0.25 # How long to wait before continual scrolling
#mouse_scroll_delay = 0.05 # Lower this to scroll faster; raise to scroll slower

Bindings

Bindings let you bind button combos to special built-in actions.

Binding sections can be defined with a name and are then enabled in a profile

with "bindings = ".

It's also possible to define a global bindings section that is enabled

on all profiles.

Sections contains:

Key: A button combo

Value: An action, see next section for valid actions.

Valid actions:

next-profile Loads the next profile

prev-profile Loads the previous profile

load-profile Loads the specified profile

exec [arg1] [arg2] ... Executes the command with

specified arguments

exec-background [arg1] [arg2] ... Same as exec but launches in

the background

Actions will be pre-processed and replace variables with real values.

Valid variables:

$profile The current profile

$name Pretty name of the current device

$device_addr Bluetooth address of the device

$report. Replace with a valid attribute,

use --dump-reports to see which are available

[bindings]

Cycle profiles

#PS+Right = next-profile
#PS+Left = prev-profile

Go directly to specified profile

#PS+Up = load-profile kbmouse
#PS+Down = load-profile default

[bindings:exec_stuff]

Execute a command in the foreground, blocking until it has finished

PS+Cross = exec echo '$name'

Execute a command in the background

PS+Triangle = exec-background sh -c 'echo "disconnect $device_addr" | bluetoothctl'

Ok got it with ds4drv --emulate-xpad-wireless
Seems to be ok now thanks anyways :)