about summary refs log tree commit diff
path: root/users/glittershark
diff options
context:
space:
mode:
Diffstat (limited to 'users/glittershark')
-rw-r--r--users/glittershark/keyboard/keymap.c2
-rw-r--r--users/glittershark/system/home/machines/chupacabra.nix1
-rw-r--r--users/glittershark/system/home/modules/ptt.nix44
3 files changed, 46 insertions, 1 deletions
diff --git a/users/glittershark/keyboard/keymap.c b/users/glittershark/keyboard/keymap.c
index 9ffa6fe9eb..fbb28c9aac 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 66531e9d7f..b6940dc831 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 0000000000..436c8f2617
--- /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";
+    };
+  };
+}