diff options
-rw-r--r-- | users/glittershark/keyboard/keymap.c | 2 | ||||
-rw-r--r-- | users/glittershark/system/home/machines/chupacabra.nix | 1 | ||||
-rw-r--r-- | users/glittershark/system/home/modules/ptt.nix | 44 |
3 files changed, 46 insertions, 1 deletions
diff --git a/users/glittershark/keyboard/keymap.c b/users/glittershark/keyboard/keymap.c index 9ffa6fe9eb9f..fbb28c9aac59 100644 --- a/users/glittershark/keyboard/keymap.c +++ b/users/glittershark/keyboard/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LBRACKET, GUI_T(KC_NO), LSFT_T(KC_BSPACE), KC_COLN, - KC_RIGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, + KC_MY_COMPUTER, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_RALT, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH, KC_H, KC_J, KC_K, KC_L, LT(2,KC_SCOLON), LT(1,KC_QUOTE), KC_MINUS, KC_N, KC_M, KC_COMMA, KC_DOT, CTL_T(KC_SLASH), KC_RSFT, diff --git a/users/glittershark/system/home/machines/chupacabra.nix b/users/glittershark/system/home/machines/chupacabra.nix index 66531e9d7f31..b6940dc831b4 100644 --- a/users/glittershark/system/home/machines/chupacabra.nix +++ b/users/glittershark/system/home/machines/chupacabra.nix @@ -11,6 +11,7 @@ in { ../modules/games.nix ../modules/rtlsdr.nix ../modules/urbint.nix + ../modules/ptt.nix ]; # for when hacking diff --git a/users/glittershark/system/home/modules/ptt.nix b/users/glittershark/system/home/modules/ptt.nix new file mode 100644 index 000000000000..436c8f261797 --- /dev/null +++ b/users/glittershark/system/home/modules/ptt.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: + +let + + pttKeycode = "152"; + sourceID = "3"; + + mute = pkgs.writeShellScript "mute-mic" '' + xset -r ${pttKeycode} + ${pkgs.pulseaudio}/bin/pactl set-source-mute ${sourceID} 1 + ''; + + unmute = pkgs.writeShellScript "unmute-mic" '' + xset -r ${pttKeycode} + ${pkgs.pulseaudio}/bin/pactl set-source-mute ${sourceID} 0 + ''; + +in + +{ + home.packages = with pkgs; [ + xbindkeys + ]; + + + home.file.".xbindkeysrc.scm".text = '' + (xbindkey '("c:${pttKeycode}") "${unmute}") + (xbindkey '(release "c:${pttKeycode}") "${mute}") + ''; + + systemd.user.services."xbindkeys" = { + Unit = { + Description = "Keybind daemon for push-to-talk"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + + Install = { WantedBy = [ "graphical-session.target" ]; }; + + Service = { + ExecStart = "${pkgs.xbindkeys}/bin/xbindkeys -n -v"; + }; + }; +} |