Keyd: Use control taps for mutes.

This commit is contained in:
Dmitry Voronin 2025-01-21 10:46:32 +03:00
parent 27dbc54eb1
commit cac0e54f41
Signed by: voronind
SSH key fingerprint: SHA256:3kBb4iV2ahufEBNq+vFbUe4QYfHt98DHQjN7QaptY9k
2 changed files with 49 additions and 46 deletions

View file

@ -6,6 +6,7 @@
}:
let
cfg = config.module.keyd;
timeout = 150;
in
{
config = lib.mkIf cfg.enable {
@ -18,19 +19,19 @@ in
settings = {
# NOTE: Use `wev` to find key names.
main = {
# down = "micmute";
# right = "compose";
# up = "mute";
backspace = "delete"; # Delete key on backspace.
capslock = "overload(control, esc)"; # Ctrl/esc combo.
compose = "layer(layer_number)"; # Number input layer.
delete = "backslash";
# down = "micmute";
esc = "timeout(grave, 150, print)"; # System controls.
esc = "timeout(grave, ${toString timeout}, print)"; # System controls.
left = "compose"; # Number input layer.
leftcontrol = "overload(layer_alternative, leftcontrol)"; # Alternative layer for home, end etc.
leftcontrol = "overload(layer_alternative, micmute)"; # Alternative layer for home, end etc.
print = "compose";
# right = "compose";
rightcontrol = "overload(layer_control, rightcontrol)"; # Media and other controls.
rightcontrol = "overload(layer_control, mute)"; # Media and other controls.
rightshift = "backspace"; # Backspace.
# up = "mute";
};
# Alternative navigation.
@ -70,7 +71,7 @@ in
v = "paste";
w = "pageup";
x = "cut";
z = "micmute";
# z = "micmute";
};
# Media controls.

View file

@ -1,45 +1,47 @@
{ pkgs, ... }: {
{ pkgs, ... }:
{
services.transmission = {
enable = true;
package = pkgs.transmission_4;
# REF: https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md
settings = let
downloadDir = "/storage/hot/download";
in
{
bind-address-ipv4 = "0.0.0.0";
bind-address-ipv6 = "::";
cache-size-mb = 4;
dht-enabled = true;
download-dir = downloadDir;
download-queue-enabled = true;
download-queue-size = 10;
encryption = 1;
incomplete-dir-enabled = false;
message-level = 3;
peer-limit-global = 500;
peer-limit-per-torrent = 50;
peer-port = 51413;
pex-enabled = true;
port-forwarding-enabled = false;
preallocation = 1;
preferred-transport = "utp";
rename-partial-files = true;
rpc-bind-address = "::";
rpc-host-whitelist-enabled = false;
rpc-password = "";
rpc-port = 9091;
rpc-username = "root";
rpc-whitelist-enabled = false;
start-added-torrents = true;
tcp-enabled = true;
torrent-added-verify-mode = "fast";
trash-can-enabled = false;
trash-original-torrent-files = true;
umask = 22;
utp-enabled = true;
watch-dir = "/var/lib/transmission/watchdir/";
watch-dir-enabled = true;
};
settings =
let
downloadDir = "/storage/hot/download";
in
{
bind-address-ipv4 = "0.0.0.0";
bind-address-ipv6 = "::";
cache-size-mb = 4;
dht-enabled = true;
download-dir = downloadDir;
download-queue-enabled = true;
download-queue-size = 10;
encryption = 1;
incomplete-dir-enabled = false;
message-level = 3;
peer-limit-global = 500;
peer-limit-per-torrent = 50;
peer-port = 51413;
pex-enabled = true;
port-forwarding-enabled = false;
preallocation = 1;
preferred-transport = "utp";
rename-partial-files = true;
rpc-bind-address = "::";
rpc-host-whitelist-enabled = false;
rpc-password = "";
rpc-port = 9091;
rpc-username = "root";
rpc-whitelist-enabled = false;
start-added-torrents = true;
tcp-enabled = true;
torrent-added-verify-mode = "fast";
trash-can-enabled = false;
trash-original-torrent-files = true;
umask = 22;
utp-enabled = true;
watch-dir = "/var/lib/transmission/watchdir/";
watch-dir-enabled = true;
};
};
}