--- src/modules/alsa/alsa-mixer.c | 2 ++ .../paths/steelseries-arctis-5-output-chat.conf | 27 ++++++++++++++++++++++ .../paths/steelseries-arctis-5-output-game.conf | 27 ++++++++++++++++++++++ ...-input.conf => steelseries-arctis-7-input.conf} | 0 ....conf => steelseries-arctis-7-output-mono.conf} | 0 ...onf => steelseries-arctis-7-output-stereo.conf} | 0 .../alsa/mixer/profile-sets/90-pulseaudio.rules | 3 ++- .../steelseries-arctis-5-usb-audio.conf | 22 ++++++++++++++++++ ...io.conf => steelseries-arctis-7-usb-audio.conf} | 6 ++--- 9 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 src/modules/alsa/mixer/paths/steelseries-arctis-5-output-chat.conf create mode 100644 src/modules/alsa/mixer/paths/steelseries-arctis-5-output-game.conf rename src/modules/alsa/mixer/paths/{steelseries-arctis-input.conf => steelseries-arctis-7-input.conf} (100%) rename src/modules/alsa/mixer/paths/{steelseries-arctis-output-mono.conf => steelseries-arctis-7-output-mono.conf} (100%) rename src/modules/alsa/mixer/paths/{steelseries-arctis-output-stereo.conf => steelseries-arctis-7-output-stereo.conf} (100%) create mode 100644 src/modules/alsa/mixer/profile-sets/steelseries-arctis-5-usb-audio.conf rename src/modules/alsa/mixer/profile-sets/{steelseries-arctis-usb-audio.conf => steelseries-arctis-7-usb-audio.conf} (91%) diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c index 7de1c7de..b8c2bc72 100644 --- a/src/modules/alsa/alsa-mixer.c +++ b/src/modules/alsa/alsa-mixer.c @@ -2480,6 +2480,8 @@ static int path_verify(pa_alsa_path *p) { { "iec958-passthrough-output", N_("Digital Passthrough (S/PDIF)") }, { "multichannel-input", N_("Multichannel Input") }, { "multichannel-output", N_("Multichannel Output") }, + { "steelseries-arctis-5-output-game", N_("Game Output") }, + { "steelseries-arctis-5-output-chat", N_("Chat Output") }, }; pa_alsa_element *e; diff --git a/src/modules/alsa/mixer/paths/steelseries-arctis-5-output-chat.conf b/src/modules/alsa/mixer/paths/steelseries-arctis-5-output-chat.conf new file mode 100644 index 00000000..5842bfe8 --- /dev/null +++ b/src/modules/alsa/mixer/paths/steelseries-arctis-5-output-chat.conf @@ -0,0 +1,27 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. + +; Steelseries Arctis 5 USB headset stereo chat path. The headset has two +; output devices. The first one is meant for voice audio, and the second +; one meant for everything else. The purpose of this unusual design is to +; provide separate volume controls for voice and other audio, which can be +; useful in gaming. + +[General] +priority = 50 + +[Element Com Speaker] +switch = mute +volume = merge diff --git a/src/modules/alsa/mixer/paths/steelseries-arctis-5-output-game.conf b/src/modules/alsa/mixer/paths/steelseries-arctis-5-output-game.conf new file mode 100644 index 00000000..c675d523 --- /dev/null +++ b/src/modules/alsa/mixer/paths/steelseries-arctis-5-output-game.conf @@ -0,0 +1,27 @@ +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2.1 of the +# License, or (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. + +; Steelseries Arctis 5 USB headset stereo chat path. The headset has two +; output devices. The first one is meant for voice audio, and the second +; one meant for everything else. The purpose of this unusual design is to +; provide separate volume controls for voice and other audio, which can be +; useful in gaming. + +[General] +priority = 99 + +[Element PCM] +switch = mute +volume = merge diff --git a/src/modules/alsa/mixer/paths/steelseries-arctis-input.conf b/src/modules/alsa/mixer/paths/steelseries-arctis-7-input.conf similarity index 100% rename from src/modules/alsa/mixer/paths/steelseries-arctis-input.conf rename to src/modules/alsa/mixer/paths/steelseries-arctis-7-input.conf diff --git a/src/modules/alsa/mixer/paths/steelseries-arctis-output-mono.conf b/src/modules/alsa/mixer/paths/steelseries-arctis-7-output-mono.conf similarity index 100% rename from src/modules/alsa/mixer/paths/steelseries-arctis-output-mono.conf rename to src/modules/alsa/mixer/paths/steelseries-arctis-7-output-mono.conf diff --git a/src/modules/alsa/mixer/paths/steelseries-arctis-output-stereo.conf b/src/modules/alsa/mixer/paths/steelseries-arctis-7-output-stereo.conf similarity index 100% rename from src/modules/alsa/mixer/paths/steelseries-arctis-output-stereo.conf rename to src/modules/alsa/mixer/paths/steelseries-arctis-7-output-stereo.conf diff --git a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules b/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules index 264bfdb3..d4ba7983 100644 --- a/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules +++ b/src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules @@ -105,6 +105,7 @@ ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2012", ENV{PULSE_PROFILE_SET}="maudi ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02bb", ENV{PULSE_PROFILE_SET}="kinect-audio.conf" ATTRS{idVendor}=="041e", ATTRS{idProduct}=="322c", ENV{PULSE_PROFILE_SET}="sb-omni-surround-5.1.conf" ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4014", ENV{PULSE_PROFILE_SET}="dell-dock-tb16-usb-audio.conf" -ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1260", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf" +ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1250", ENV{PULSE_PROFILE_SET}="steelseries-arctis-5-usb-audio.conf" +ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1260", ENV{PULSE_PROFILE_SET}="steelseries-arctis-7-usb-audio.conf" LABEL="pulseaudio_end" diff --git a/src/modules/alsa/mixer/profile-sets/steelseries-arctis-5-usb-audio.conf b/src/modules/alsa/mixer/profile-sets/steelseries-arctis-5-usb-audio.conf new file mode 100644 index 00000000..fe353c38 --- /dev/null +++ b/src/modules/alsa/mixer/profile-sets/steelseries-arctis-5-usb-audio.conf @@ -0,0 +1,22 @@ +[General] +auto-profiles = yes + +[Mapping analog-chat] +description = Chat +device-strings = hw:%f,0,0 +channel-map = left,right +paths-input = analog-input-mic +paths-output = steelseries-arctis-5-output-chat + +[Mapping analog-game] +description = Game +device-strings = hw:%f,1,0 +channel-map = left,right +paths-output = steelseries-arctis-5-output-game +direction = output + +[Profile output:analog-chat+output:analog-game+input:analog-chat] +output-mappings = analog-chat analog-game +input-mappings = analog-chat +priority = 5100 +skip-probe = yes diff --git a/src/modules/alsa/mixer/profile-sets/steelseries-arctis-usb-audio.conf b/src/modules/alsa/mixer/profile-sets/steelseries-arctis-7-usb-audio.conf similarity index 91% rename from src/modules/alsa/mixer/profile-sets/steelseries-arctis-usb-audio.conf rename to src/modules/alsa/mixer/profile-sets/steelseries-arctis-7-usb-audio.conf index d3563a16..8c061e1a 100644 --- a/src/modules/alsa/mixer/profile-sets/steelseries-arctis-usb-audio.conf +++ b/src/modules/alsa/mixer/profile-sets/steelseries-arctis-7-usb-audio.conf @@ -27,13 +27,13 @@ auto-profiles = yes [Mapping analog-mono] device-strings = hw:%f,0,0 channel-map = mono -paths-output = steelseries-arctis-output-mono -paths-input = steelseries-arctis-input +paths-output = steelseries-arctis-7-output-mono +paths-input = steelseries-arctis-7-input [Mapping analog-stereo] device-strings = hw:%f,1,0 channel-map = left,right -paths-output = steelseries-arctis-output-stereo +paths-output = steelseries-arctis-7-output-stereo direction = output [Profile output:analog-mono+output:analog-stereo+input:analog-mono] -- 2.14.1