mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-07 22:18:30 -04:00
feat(settings): add keyboard configuration tab for Niri (#2937)
* feat(settings): add dedicated keyboard configuration tab * chore(settings): configure default keyboard settings and clean up embedded niri config * settings/keyboard: emit niri keyboard config only when set, dedup setup banner, index tab --------- Co-authored-by: bbedward <bbedward@gmail.com>
This commit is contained in:
@@ -135,10 +135,14 @@ TAB_INDEX_MAP = {
|
||||
"UsersTab.qml": 35,
|
||||
"AutoStartTab.qml": 36,
|
||||
"BatteryTab.qml": 42,
|
||||
"MouseTouchpadTab.qml": 44,
|
||||
"KeyboardTab.qml": 45,
|
||||
}
|
||||
|
||||
FILE_CONDITION_MAP = {
|
||||
"GreeterTab.qml": "greeterAvailable",
|
||||
"MouseTouchpadTab.qml": "isNiri",
|
||||
"KeyboardTab.qml": "isNiri",
|
||||
}
|
||||
|
||||
TAB_CATEGORY_MAP = {
|
||||
@@ -185,6 +189,8 @@ TAB_CATEGORY_MAP = {
|
||||
41: "Network",
|
||||
42: "Power & Security",
|
||||
43: "Dank Dash",
|
||||
44: "System",
|
||||
45: "System",
|
||||
}
|
||||
|
||||
SEARCHABLE_COMPONENTS = [
|
||||
|
||||
@@ -10921,17 +10921,609 @@
|
||||
],
|
||||
"icon": "dashboard"
|
||||
},
|
||||
{
|
||||
"section": "mouseAccelProfile",
|
||||
"label": "Acceleration Profile",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"acceleration",
|
||||
"adaptive",
|
||||
"constant",
|
||||
"flat",
|
||||
"linux",
|
||||
"mouse",
|
||||
"movement",
|
||||
"os",
|
||||
"profile",
|
||||
"scales",
|
||||
"speed",
|
||||
"system",
|
||||
"uses"
|
||||
],
|
||||
"description": "Flat uses constant speed; Adaptive scales with movement speed",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadAccelProfile",
|
||||
"label": "Acceleration Profile",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"acceleration",
|
||||
"adaptive",
|
||||
"constant",
|
||||
"flat",
|
||||
"linux",
|
||||
"movement",
|
||||
"os",
|
||||
"profile",
|
||||
"scales",
|
||||
"speed",
|
||||
"system",
|
||||
"touchpad",
|
||||
"uses"
|
||||
],
|
||||
"description": "Flat uses constant speed; Adaptive scales with movement speed",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadDisableWhileTyping",
|
||||
"label": "Disable While Typing",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"accidental",
|
||||
"cursor",
|
||||
"disable",
|
||||
"dwt",
|
||||
"jumps",
|
||||
"linux",
|
||||
"os",
|
||||
"prevent",
|
||||
"system",
|
||||
"touchpad",
|
||||
"typing",
|
||||
"while"
|
||||
],
|
||||
"description": "Prevent accidental cursor jumps while typing",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadDisableOnExternalMouse",
|
||||
"label": "Disable on External Mouse",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"connected",
|
||||
"disable",
|
||||
"external",
|
||||
"linux",
|
||||
"mouse",
|
||||
"os",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Disable touchpad when an external mouse is connected",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadDragLock",
|
||||
"label": "Drag Lock",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"briefly",
|
||||
"drag",
|
||||
"dragging",
|
||||
"finger",
|
||||
"keep",
|
||||
"lifted",
|
||||
"linux",
|
||||
"lock",
|
||||
"os",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Keep dragging when finger is briefly lifted",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseLeftHanded",
|
||||
"label": "Left-Handed Mode",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"button",
|
||||
"buttons",
|
||||
"handed",
|
||||
"left",
|
||||
"linux",
|
||||
"mode",
|
||||
"mouse",
|
||||
"os",
|
||||
"primary",
|
||||
"secondary",
|
||||
"swap",
|
||||
"system"
|
||||
],
|
||||
"description": "Swap primary and secondary mouse buttons",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseMiddleEmulation",
|
||||
"label": "Middle Click Emulation",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"buttons",
|
||||
"click",
|
||||
"emulate",
|
||||
"emulation",
|
||||
"left",
|
||||
"linux",
|
||||
"middle",
|
||||
"mouse",
|
||||
"os",
|
||||
"pressing",
|
||||
"right",
|
||||
"system"
|
||||
],
|
||||
"description": "Emulate middle click by pressing left and right buttons",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadMiddleEmulation",
|
||||
"label": "Middle Click Emulation",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"buttons",
|
||||
"click",
|
||||
"emulate",
|
||||
"emulation",
|
||||
"left",
|
||||
"linux",
|
||||
"middle",
|
||||
"os",
|
||||
"pressing",
|
||||
"right",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Emulate middle click by pressing left and right buttons",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "_tab_44",
|
||||
"label": "Mouse & Touchpad",
|
||||
"tabIndex": 44,
|
||||
"category": "Settings",
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"linux",
|
||||
"mouse",
|
||||
"settings",
|
||||
"os",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"icon": "mouse",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseSettings",
|
||||
"label": "Mouse Settings",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"acceleration",
|
||||
"buttons",
|
||||
"input",
|
||||
"linux",
|
||||
"mouse",
|
||||
"os",
|
||||
"pointer",
|
||||
"primary",
|
||||
"secondary",
|
||||
"sensitivity",
|
||||
"settings",
|
||||
"swap",
|
||||
"system"
|
||||
],
|
||||
"icon": "mouse",
|
||||
"description": "Swap primary and secondary mouse buttons",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseNaturalScroll",
|
||||
"label": "Natural Scrolling",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"direction",
|
||||
"linux",
|
||||
"mouse",
|
||||
"natural",
|
||||
"os",
|
||||
"reverse",
|
||||
"scroll",
|
||||
"scrolling",
|
||||
"system",
|
||||
"wheel"
|
||||
],
|
||||
"description": "Reverse mouse wheel scrolling direction",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadNaturalScroll",
|
||||
"label": "Natural Scrolling",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"direction",
|
||||
"finger",
|
||||
"linux",
|
||||
"natural",
|
||||
"os",
|
||||
"reverse",
|
||||
"scroll",
|
||||
"scrolling",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Reverse two-finger scrolling direction",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseAccelSpeed",
|
||||
"label": "Pointer Speed",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"accel",
|
||||
"adjust",
|
||||
"linux",
|
||||
"mouse",
|
||||
"os",
|
||||
"pointer",
|
||||
"sensitivity",
|
||||
"speed",
|
||||
"system"
|
||||
],
|
||||
"description": "Adjust pointer sensitivity speed",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseScrollMethod",
|
||||
"label": "Scroll Method",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"choose",
|
||||
"events",
|
||||
"generate",
|
||||
"linux",
|
||||
"method",
|
||||
"mouse",
|
||||
"os",
|
||||
"scroll",
|
||||
"scrolling",
|
||||
"system"
|
||||
],
|
||||
"description": "Choose when to generate scrolling events",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadScrollMethod",
|
||||
"label": "Scroll Method",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"choose",
|
||||
"events",
|
||||
"generate",
|
||||
"linux",
|
||||
"method",
|
||||
"os",
|
||||
"scroll",
|
||||
"scrolling",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Choose when to generate scrolling events",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "mouseScrollFactor",
|
||||
"label": "Scrolling Speed",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"adjust",
|
||||
"factor",
|
||||
"linux",
|
||||
"mouse",
|
||||
"multiplier",
|
||||
"os",
|
||||
"scroll",
|
||||
"scrolling",
|
||||
"sensitivity",
|
||||
"speed",
|
||||
"system"
|
||||
],
|
||||
"description": "Adjust scrolling sensitivity multiplier",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadScrollFactor",
|
||||
"label": "Scrolling Speed",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"adjust",
|
||||
"factor",
|
||||
"linux",
|
||||
"multiplier",
|
||||
"os",
|
||||
"scroll",
|
||||
"scrolling",
|
||||
"sensitivity",
|
||||
"speed",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Adjust scrolling sensitivity multiplier",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadTapAndDrag",
|
||||
"label": "Tap and Drag",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"drag",
|
||||
"items",
|
||||
"linux",
|
||||
"move",
|
||||
"os",
|
||||
"system",
|
||||
"tap",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Tap and drag on the touchpad to move items",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadTapToClick",
|
||||
"label": "Tap to Click",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"click",
|
||||
"clicks",
|
||||
"left",
|
||||
"linux",
|
||||
"os",
|
||||
"surface",
|
||||
"system",
|
||||
"tap",
|
||||
"touchpad",
|
||||
"trigger"
|
||||
],
|
||||
"description": "Tap the touchpad surface to trigger left click clicks",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadSettings",
|
||||
"label": "Touchpad Settings",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"click",
|
||||
"clicks",
|
||||
"input",
|
||||
"left",
|
||||
"linux",
|
||||
"natural",
|
||||
"os",
|
||||
"sensitivity",
|
||||
"settings",
|
||||
"surface",
|
||||
"system",
|
||||
"tap",
|
||||
"touchpad",
|
||||
"trigger"
|
||||
],
|
||||
"icon": "trackpad_input_2",
|
||||
"description": "Tap the touchpad surface to trigger left click clicks",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "touchpadAccelSpeed",
|
||||
"label": "Touchpad Speed",
|
||||
"tabIndex": 44,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"accel",
|
||||
"adjust",
|
||||
"linux",
|
||||
"os",
|
||||
"pointer",
|
||||
"sensitivity",
|
||||
"speed",
|
||||
"system",
|
||||
"touchpad"
|
||||
],
|
||||
"description": "Adjust touchpad pointer speed",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardNumlock",
|
||||
"label": "Enable Num Lock",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"automatically",
|
||||
"enable",
|
||||
"keyboard",
|
||||
"linux",
|
||||
"lock",
|
||||
"num",
|
||||
"numlock",
|
||||
"os",
|
||||
"startup",
|
||||
"system",
|
||||
"turn"
|
||||
],
|
||||
"description": "Automatically turn on Num Lock at startup",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "_tab_45",
|
||||
"label": "Keyboard",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"keyboard",
|
||||
"linux",
|
||||
"os",
|
||||
"system"
|
||||
],
|
||||
"icon": "keyboard",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardBehaviorSettings",
|
||||
"label": "Keyboard Behavior",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"across",
|
||||
"apps",
|
||||
"behavior",
|
||||
"changes",
|
||||
"delay",
|
||||
"keyboard",
|
||||
"layout",
|
||||
"linux",
|
||||
"numlock",
|
||||
"os",
|
||||
"rate",
|
||||
"remembered",
|
||||
"repeat",
|
||||
"system"
|
||||
],
|
||||
"icon": "settings",
|
||||
"description": "How layout changes are remembered across apps",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardLayoutsSettings",
|
||||
"label": "Keyboard Layouts",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"between",
|
||||
"choose",
|
||||
"cycle",
|
||||
"input",
|
||||
"keyboard",
|
||||
"language",
|
||||
"layout",
|
||||
"layouts",
|
||||
"linux",
|
||||
"os",
|
||||
"shortcut",
|
||||
"system",
|
||||
"xkb"
|
||||
],
|
||||
"icon": "keyboard",
|
||||
"description": "Choose a shortcut key to cycle between keyboard layouts",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardTrackLayout",
|
||||
"label": "Remember Layout",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"across",
|
||||
"apps",
|
||||
"changes",
|
||||
"keyboard",
|
||||
"layout",
|
||||
"linux",
|
||||
"os",
|
||||
"remember",
|
||||
"remembered",
|
||||
"system",
|
||||
"track"
|
||||
],
|
||||
"description": "How layout changes are remembered across apps",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardRepeatDelay",
|
||||
"label": "Repeat Delay",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"before",
|
||||
"characters",
|
||||
"delay",
|
||||
"keyboard",
|
||||
"linux",
|
||||
"os",
|
||||
"repeat",
|
||||
"repeating",
|
||||
"speed",
|
||||
"start",
|
||||
"system"
|
||||
],
|
||||
"description": "Delay before characters start repeating",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardRepeatRate",
|
||||
"label": "Repeat Rate",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"characters",
|
||||
"down",
|
||||
"holding",
|
||||
"keyboard",
|
||||
"linux",
|
||||
"os",
|
||||
"rate",
|
||||
"repeat",
|
||||
"second",
|
||||
"speed",
|
||||
"system",
|
||||
"while"
|
||||
],
|
||||
"description": "Characters per second while holding down key",
|
||||
"conditionKey": "isNiri"
|
||||
},
|
||||
{
|
||||
"section": "keyboardOptions",
|
||||
"label": "Switch Layout Shortcut",
|
||||
"tabIndex": 45,
|
||||
"category": "System",
|
||||
"keywords": [
|
||||
"between",
|
||||
"choose",
|
||||
"cycle",
|
||||
"keyboard",
|
||||
"layout",
|
||||
"layouts",
|
||||
"linux",
|
||||
"os",
|
||||
"shortcut",
|
||||
"switch",
|
||||
"system",
|
||||
"xkb"
|
||||
],
|
||||
"description": "Choose a shortcut key to cycle between keyboard layouts",
|
||||
"conditionKey": "isNiri"
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user