Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Input|Client: Prevent interference from nonexistent controller axes
When applying a game controller preset, disable all extra game controller axes.

IssueID #2307
  • Loading branch information
skyjake committed Dec 15, 2018
1 parent ec9c822 commit 1916b71
Showing 1 changed file with 21 additions and 10 deletions.
31 changes: 21 additions & 10 deletions doomsday/apps/client/net.dengine.client.pack/modules/controllers.ds
Expand Up @@ -52,6 +52,12 @@ record Gamepad()
Console.set(var, 0)
end
end

def disableAllAxes()
for var in Console.listVars('input-joy-.*-factor')
Console.set(var, 0)
end
end
end

record GenericGamepad(Gamepad)
Expand Down Expand Up @@ -131,12 +137,13 @@ record PS3Gamepad(Gamepad)
event('game', right, 'impulse nextitem')
event('game', tri, 'impulse useitem')
end

self.resetDeadzones()


# Deadzones.
self.resetDeadzones()
self.disableAllAxes()
for axis in ['x', 'y', 'z', 'w']
Console.set('input-joy-%s-deadzone' % axis, 0.15)
Console.set('input-joy-%s-factor' % axis, 1)
end
end
end
Expand Down Expand Up @@ -212,12 +219,13 @@ record PS4Gamepad(Gamepad)
event('game', right, 'impulse nextitem')
event('game', tri, 'impulse useitem')
end

self.resetDeadzones()


# Deadzones.
self.resetDeadzones()
self.disableAllAxes()
for axis in ['x', 'y', 'z', 'axis06']
Console.set('input-joy-%s-deadzone' % axis, 0.15)
Console.set('input-joy-%s-factor' % axis, 1)
end
end
end
Expand Down Expand Up @@ -292,12 +300,14 @@ record XboxWindowsGamepad(Gamepad)
event('game', y, 'impulse useitem')
end

self.resetDeadzones()

# Deadzones.
self.resetDeadzones()
self.disableAllAxes()
for axis in ['x', 'y', 'w', 'axis05']
Console.set('input-joy-%s-deadzone' % axis, 0.15)
Console.set('input-joy-%s-factor' % axis, 1)
end
Console.set('input-joy-z-factor', 1)
end
end

Expand Down Expand Up @@ -376,11 +386,12 @@ record XboxMacGamepad(Gamepad)
event('game', y, 'impulse useitem')
end

self.resetDeadzones()

# Deadzones.
self.resetDeadzones()
self.disableAllAxes()
for axis in ['x', 'y', 'w', 'axis05']
Console.set('input-joy-%s-deadzone' % axis, 0.15)
Console.set('input-joy-%s-factor' % axis, 1)
end

# Thrusters are stick axes, but we want them to go from 0 to 1.
Expand Down

0 comments on commit 1916b71

Please sign in to comment.