mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
rcxml: revise drag-lock behavior and option names
This revises the changes done in 22d319c:
- Cancel defaulting to <dragLock>sticky<dragLock>. So labwc now disables
drag-lock by default, as libinput does.
- Update the options from [yes|no|sticky] to [timeout|no|yes] to
emphasize that the "sticky" mode (now "yes") is recommended when using
drag-lock.
This commit is contained in:
parent
e365d5eaf0
commit
d7fd23e52d
4 changed files with 18 additions and 21 deletions
|
|
@ -965,7 +965,7 @@ extending outward from the snapped edge.
|
|||
<tap>yes</tap>
|
||||
<tapButtonMap></tapButtonMap>
|
||||
<tapAndDrag></tapAndDrag>
|
||||
<dragLock>sticky</dragLock>
|
||||
<dragLock></dragLock>
|
||||
<threeFingerDrag></threeFingerDrag>
|
||||
<middleEmulation></middleEmulation>
|
||||
<disableWhileTyping></disableWhileTyping>
|
||||
|
|
@ -1035,11 +1035,13 @@ extending outward from the snapped edge.
|
|||
Enable or disable tap-and-drag for this category. Tap-and-drag processes
|
||||
a tap immediately followed by a finger down as the start of a drag.
|
||||
|
||||
*<libinput><device><dragLock>* [yes|no|sticky]
|
||||
*<libinput><device><dragLock>* [yes|no|timeout]
|
||||
Enable or disable drag lock for this category. Drag lock ignores a temporary
|
||||
release of a finger during tap-and-dragging. Both *yes* and *sticky* enable
|
||||
drag lock, but if *yes* is set, the drag lock expires after a timeout.
|
||||
Default is *sticky*.
|
||||
release of a finger during tap-and-dragging.
|
||||
|
||||
*timeout* also enables drag lock, but with a timeout: if your fingers are
|
||||
released for a certain amount of time, the drag gesture is cancelled.
|
||||
In libinput < 1.27, the behavior of *yes* is equivalent to *timeout*.
|
||||
|
||||
*<libinput><device><threeFingerDrag>* [yes|no|3|4]
|
||||
Enable or disable the three-finger drag feature. When enabled, three
|
||||
|
|
|
|||
|
|
@ -618,7 +618,7 @@
|
|||
<tap>yes</tap>
|
||||
<tapButtonMap></tapButtonMap>
|
||||
<tapAndDrag></tapAndDrag>
|
||||
<dragLock>sticky</dragLock>
|
||||
<dragLock></dragLock>
|
||||
<threeFingerDrag></threeFingerDrag>
|
||||
<middleEmulation></middleEmulation>
|
||||
<disableWhileTyping></disableWhileTyping>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include "config.h"
|
||||
#include "common/mem.h"
|
||||
#include "common/list.h"
|
||||
#include "common/string-helpers.h"
|
||||
|
|
@ -19,11 +18,7 @@ libinput_category_init(struct libinput_category *l)
|
|||
l->tap = LIBINPUT_CONFIG_TAP_ENABLED;
|
||||
l->tap_button_map = LIBINPUT_CONFIG_TAP_MAP_LRM;
|
||||
l->tap_and_drag = -1;
|
||||
#if HAVE_LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
|
||||
l->drag_lock = LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY;
|
||||
#else
|
||||
l->drag_lock = -1;
|
||||
#endif
|
||||
l->three_finger_drag = -1;
|
||||
l->accel_profile = -1;
|
||||
l->middle_emu = -1;
|
||||
|
|
|
|||
|
|
@ -780,23 +780,23 @@ fill_libinput_category(char *nodename, char *content, struct parser_state *state
|
|||
? LIBINPUT_CONFIG_DRAG_ENABLED
|
||||
: LIBINPUT_CONFIG_DRAG_DISABLED;
|
||||
} else if (!strcasecmp(nodename, "dragLock")) {
|
||||
if (!strcasecmp(content, "sticky")) {
|
||||
#if HAVE_LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
|
||||
if (!strcasecmp(content, "timeout")) {
|
||||
/* "timeout" enables drag-lock with timeout */
|
||||
state->current_libinput_category->drag_lock =
|
||||
LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY;
|
||||
#else
|
||||
wlr_log(WLR_ERROR, "<dragLock>sticky</dragLock> is"
|
||||
" only supported in libinput >= 1.27");
|
||||
#endif
|
||||
LIBINPUT_CONFIG_DRAG_LOCK_ENABLED;
|
||||
return;
|
||||
}
|
||||
int ret = parse_bool(content, -1);
|
||||
if (ret < 0) {
|
||||
return;
|
||||
}
|
||||
state->current_libinput_category->drag_lock = ret
|
||||
? LIBINPUT_CONFIG_DRAG_LOCK_ENABLED
|
||||
: LIBINPUT_CONFIG_DRAG_LOCK_DISABLED;
|
||||
/* "yes" enables drag-lock, without timeout if libinput >= 1.27 */
|
||||
int enabled = LIBINPUT_CONFIG_DRAG_LOCK_ENABLED;
|
||||
#if HAVE_LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY
|
||||
enabled = LIBINPUT_CONFIG_DRAG_LOCK_ENABLED_STICKY;
|
||||
#endif
|
||||
state->current_libinput_category->drag_lock = ret ?
|
||||
enabled : LIBINPUT_CONFIG_DRAG_LOCK_DISABLED;
|
||||
} else if (!strcasecmp(nodename, "threeFingerDrag")) {
|
||||
#if HAVE_LIBINPUT_CONFIG_3FG_DRAG_ENABLED_3FG
|
||||
if (!strcmp(content, "3")) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue