View Issue Details

IDProjectCategoryView StatusLast Update
0006402The Dark ModFeature proposalpublic26.01.2024 14:02
ReporterFiver Assigned To 
PrioritynormalSeveritynormalReproducibilityN/A
Status newResolutionopen 
Summary0006402: Improve use of analogue triggers on gamepads
DescriptionAnalogue triggers are currently not optimally used. They are used as digital triggers. (Default is that left trigger is MODIFIER, and right trigger is "_frob")

Possible solutions:
(implementing notations for open, closed, and half-open intervals from https://en.wikipedia.org/wiki/Interval_(mathematics))
1) Add option to use a gampad analog trigger to control creep-walk-run depending on the degree of pressing the trigger.
One way of implementing this could perhaps be to differentiate the degree of pressing the analogue trigger in DarkmodPadbinds.cfg so that instead of defining just "PAD_L2", the user can define "PAD_L2_MIN", "PAD_L2_MID", and "PAD_L2_MAX".
* <= 2 % = function "_creep" ("PAD_L2_MIN")
* > 2 % and < 98 % = function "" (walk) ("PAD_L2_MID")
* >= 98 % = function "_speed" (run) ("PAD_L2_MAX")
A user may want to be able to change the limits 2 % and 98 %. Maybe in DarkmodPadbinds.cfg too?
* setValue PAD_L2_MIN "PAD_L2 [0,2]"
* setValue PAD_L2_MID "PAD_L2 (2,98)"
* setValue PAD_L2_MAX "PAD_L2 [98-100]"

2) Allow user to create and use custom "button names" in DarkmodPadbinds.cfg
* setValue PAD_L2_10 "PAD_L2 [0,10]", ..., setValue PAD_L2_100 "PAD_L2 (90,100]"
A user can then bind an analogue trigger to quickly cycle some select inventory group (items or weapons) that they bind to the custom button names. (not unlike "mouse wheel bound to my inventory" mentioned in 0005715)

3) (Possibly unrelated to this issue) Add setting "control movement type by movement speed", meaning that when moving slow, user creeps and when moving fast, user runs. Walking in-between. This auto-movement-type may be intuitive to new users and be appreciated by user with a gamepad that has a digital trigger instead of an analogue one. Using this setting will likely mean that if 0006394 is implemented then this will also control if a player opens/closes lids/doors slowly and quietly.
(https://forums.thedarkmod.com/index.php?/topic/22319-adjusting-analog-controller-movement-speed/ touches on this)
Additional InformationA workaround may be to use a program like QJoyPad (Debian Linux: https://packages.debian.org/bullseye/qjoypad or Windows alternatives: https://alternativeto.net/software/qjoypad/) to map keyboard keys to the gamepad:
* For the left trigger, set max value to mean keyboard shift-key (run), any middle value to mean nothing (normal), and the min value to mean keyboard control-key (creep)
However:
* It is currently not possible to run and jump at the same time (0006401) with the default configuration. The workaround for this is to edit DarkmodPadbinds.cfg and either
** move the modifier functionality to another button, or even disable it. (works)
** try adding the row bindPadButton MOD_PRESS PAD_A "_jump" (not tested)
* Since ctrl-key is constantly pressed down as long as left trigger is not used, remember to semi-press the trigger (which will make QJoyPad unpress ctrl-key) to be able to type when saving a game.
* In QJoyPad 4.3, if the trigger is released when selecting a profile, then the released trigger will not be interpreted as pressing control-key until the trigger is pressed and released for the first time after the profile is selected.
Tagsgame controls, gamepad

Relationships

related to 0006401 new Undefined modifier combination for gamepad in DarkmodPadbinds.cfg results in unexpected and delayed function 
related to 0006448 new Analogue lean 

Activities

Fiver

Fiver

19.01.2024 01:59

reporter   ~0016379

Renamed issue from "Improve control for creep-walk-run on gamepads".
Update description and additional information.

Issue History

Date Modified Username Field Change
31.12.2023 16:54 Fiver New Issue
31.12.2023 16:55 Fiver Relationship added related to 0006401
31.12.2023 16:55 Fiver Tag Attached: gamepad
31.12.2023 17:16 Fiver Tag Attached: game controls
31.12.2023 18:05 Fiver OS Debian =>
31.12.2023 18:05 Fiver OS Version 11 Bullseye =>
31.12.2023 18:05 Fiver Platform Linux =>
31.12.2023 18:23 Fiver Additional Information Updated
01.01.2024 15:06 Fiver Description Updated
19.01.2024 01:59 Fiver Summary Improve control for creep-walk-run on gamepads => Improve use of analogue triggers on gamepads
19.01.2024 01:59 Fiver Description Updated
19.01.2024 01:59 Fiver Additional Information Updated
19.01.2024 01:59 Fiver Note Added: 0016379
20.01.2024 05:39 Fiver Description Updated
20.01.2024 05:39 Fiver Additional Information Updated
20.01.2024 06:08 Fiver Description Updated
20.01.2024 06:59 Fiver Description Updated
20.01.2024 09:03 Fiver Relationship added related to 0006448
20.01.2024 11:26 Fiver Description Updated
22.01.2024 06:46 Fiver Additional Information Updated
22.01.2024 06:52 Fiver Description Updated
26.01.2024 05:27 Fiver Description Updated
26.01.2024 14:02 Fiver Description Updated