input: support scroll button lock config
This commit is contained in:
parent
26f599b56b
commit
fd55f51ba1
@ -99,6 +99,7 @@ function __riverctl_completion ()
|
|||||||
tap-button-map \
|
tap-button-map \
|
||||||
scroll-method \
|
scroll-method \
|
||||||
scroll-button \
|
scroll-button \
|
||||||
|
scroll-button-lock \
|
||||||
map-to-output"
|
map-to-output"
|
||||||
COMPREPLY=($(compgen -W "${OPTS}" -- "${COMP_WORDS[3]}"))
|
COMPREPLY=($(compgen -W "${OPTS}" -- "${COMP_WORDS[3]}"))
|
||||||
elif [ "${COMP_WORDS[1]}" == "hide-cursor" ]
|
elif [ "${COMP_WORDS[1]}" == "hide-cursor" ]
|
||||||
@ -117,7 +118,7 @@ function __riverctl_completion ()
|
|||||||
"events") OPTS="enabled disabled disabled-on-external-mouse" ;;
|
"events") OPTS="enabled disabled disabled-on-external-mouse" ;;
|
||||||
"accel-profile") OPTS="none flat adaptive" ;;
|
"accel-profile") OPTS="none flat adaptive" ;;
|
||||||
"click-method") OPTS="none button-areas clickfinger" ;;
|
"click-method") OPTS="none button-areas clickfinger" ;;
|
||||||
"drag"|"drag-lock"|"disable-while-typing"|"middle-emulation"|"left-handed"|"tap") OPTS="enabled disabled" ;;
|
"drag"|"drag-lock"|"disable-while-typing"|"middle-emulation"|"left-handed"|"tap"|"scroll-button-lock") OPTS="enabled disabled" ;;
|
||||||
"tap-button-map") OPTS="left-right-middle left-middle-right" ;;
|
"tap-button-map") OPTS="left-right-middle left-middle-right" ;;
|
||||||
"scroll-method") OPTS="none two-finger edge button" ;;
|
"scroll-method") OPTS="none two-finger edge button" ;;
|
||||||
*) return ;;
|
*) return ;;
|
||||||
|
@ -119,10 +119,11 @@ complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_
|
|||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'tap-button-map' -d 'Configure the button mapping for tapping'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'tap-button-map' -d 'Configure the button mapping for tapping'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'scroll-method' -d 'Set the scroll method'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'scroll-method' -d 'Set the scroll method'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'scroll-button' -d 'Set the scroll button'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'scroll-button' -d 'Set the scroll button'
|
||||||
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'scroll-button-lock' -d 'Enable or disable the scroll button lock functionality'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'map-to-output' -d 'Map to a given output'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 3' -a 'map-to-output' -d 'Map to a given output'
|
||||||
|
|
||||||
# Subcommands for the subcommands of 'input'
|
# Subcommands for the subcommands of 'input'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from drag drag-lock disable-while-typing disable-while-trackpointing middle-emulation natural-scroll left-handed tap' -a 'enabled disabled'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from drag drag-lock disable-while-typing disable-while-trackpointing middle-emulation natural-scroll left-handed tap scroll-button-lock' -a 'enabled disabled'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from events' -a 'enabled disabled disabled-on-external-mouse'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from events' -a 'enabled disabled disabled-on-external-mouse'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from accel-profile' -a 'none flat adaptive'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from accel-profile' -a 'none flat adaptive'
|
||||||
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from click-method' -a 'none button-areas clickfinger'
|
complete -c riverctl -n '__fish_seen_subcommand_from input; and __fish_riverctl_complete_arg 4; and __fish_seen_subcommand_from click-method' -a 'none button-areas clickfinger'
|
||||||
|
@ -126,6 +126,7 @@ _riverctl()
|
|||||||
'tap-button-map:Configure the button mapping for tapping'
|
'tap-button-map:Configure the button mapping for tapping'
|
||||||
'scroll-method:Set the scroll method'
|
'scroll-method:Set the scroll method'
|
||||||
'scroll-button:Set the scroll button'
|
'scroll-button:Set the scroll button'
|
||||||
|
'scroll-button-lock:Enable or disable the scroll button lock functionality'
|
||||||
'map-to-output:Map to a given output'
|
'map-to-output:Map to a given output'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -144,6 +145,7 @@ _riverctl()
|
|||||||
natural-scroll) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
natural-scroll) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
||||||
left-handed) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
left-handed) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
||||||
tap) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
tap) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
||||||
|
scroll-button-lock) _alternative 'input-cmds:args:(enabled disabled)' ;;
|
||||||
tap-button-map) _alternative 'input-cmds:args:(left-right-middle left-middle-right)' ;;
|
tap-button-map) _alternative 'input-cmds:args:(left-right-middle left-middle-right)' ;;
|
||||||
scroll-method) _alternative 'input-cmds:args:(none two-finger edge button)' ;;
|
scroll-method) _alternative 'input-cmds:args:(none two-finger edge button)' ;;
|
||||||
*) return 0 ;;
|
*) return 0 ;;
|
||||||
|
@ -545,6 +545,11 @@ However note that not every input device supports every property.
|
|||||||
Set the scroll button of an input device. _button_ is the name of a Linux
|
Set the scroll button of an input device. _button_ is the name of a Linux
|
||||||
input event code.
|
input event code.
|
||||||
|
|
||||||
|
*input* _name_ *scroll-button-lock* *enabled*|*disabled*
|
||||||
|
Enable or disable the scroll button lock functionality of the input device. If
|
||||||
|
active, the button does not need to be held down. One press makes the button
|
||||||
|
considered to be held down, and a second press releases the button.
|
||||||
|
|
||||||
*input* _name_ *map-to-output* _output_|*disabled*
|
*input* _name_ *map-to-output* _output_|*disabled*
|
||||||
Maps the input to a given output. This is valid even if the output isn't
|
Maps the input to a given output. This is valid even if the output isn't
|
||||||
currently active and will lead to the device being mapped once it is
|
currently active and will lead to the device being mapped once it is
|
||||||
|
@ -215,6 +215,18 @@ pub const ScrollButton = struct {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pub const ScrollButtonLock = enum {
|
||||||
|
enabled,
|
||||||
|
disabled,
|
||||||
|
|
||||||
|
fn apply(scroll_button_lock: ScrollButtonLock, device: *c.libinput_device) void {
|
||||||
|
_ = c.libinput_device_config_scroll_set_button_lock(device, switch (scroll_button_lock) {
|
||||||
|
.enabled => c.LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_ENABLED,
|
||||||
|
.disabled => c.LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_DISABLED,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
pub const MapToOutput = struct {
|
pub const MapToOutput = struct {
|
||||||
output_name: ?[]const u8,
|
output_name: ?[]const u8,
|
||||||
|
|
||||||
@ -279,6 +291,7 @@ tap: ?TapState = null,
|
|||||||
@"pointer-accel": ?PointerAccel = null,
|
@"pointer-accel": ?PointerAccel = null,
|
||||||
@"scroll-method": ?ScrollMethod = null,
|
@"scroll-method": ?ScrollMethod = null,
|
||||||
@"scroll-button": ?ScrollButton = null,
|
@"scroll-button": ?ScrollButton = null,
|
||||||
|
@"scroll-button-lock": ?ScrollButtonLock = null,
|
||||||
@"map-to-output": ?MapToOutput = null,
|
@"map-to-output": ?MapToOutput = null,
|
||||||
|
|
||||||
pub fn deinit(config: *InputConfig) void {
|
pub fn deinit(config: *InputConfig) void {
|
||||||
|
Loading…
Reference in New Issue
Block a user