トップ «前の日(07-04) 最新 次の日(07-06)» 追記

Masa's blog

検索キーワード:

2009年07月05日 キーボードから輝度コントロール等 on Libretto U100

_ キーボードから輝度コントロール等 on Libretto U100

fnfxdを使うとできるらしい。

インストール

$ tar xvzf fnfx-0.3.tar.gz
$ cd fnfx-0.3
$ ./configure && make
# make install

後述するfnfxdが何故か/usr/local/etc/fnfx/を見ずに/etc/fnfx/を見てしまうので、シンボリックリンクをはる。

# ln -s /usr/local/etc/fnfx /etc/fnfx

それと(よくわからない)クライアントのfnfxが参照する~/.fnfxrcをサンプルからコピーする。

$ cp /etc/fnfx/fnfxrc_example ~/.fnfxrc

fnfxd(デーモン)をブート時に起動するように設定。

/etc/rc.d/rc.local

if [ -x /usr/local/sbin/fnfxd ]
then
        /usr/local/sbin/fnfxd start
fi

東芝ラップトップのACPIモジュールをブート時にロードするように設定。

/etc/rc.d/rc.module

/sbin/modprobe toshiba_acpi

これで、Fn+F6(輝度ダウン)、Fn+F7(輝度アップ)ができるようになる。その他のキーアサインについては、/etc/fnfx/fnfxd.confを参照。


2026年07月05日 Pipewireによる合成マイクの作成

_ Slackware-currentのオーディオサーバがPulseaudioからPipewireに代ったので、pulseaudioによる合成マイクの作成のPipewire版

_ 仮想の出力デバイス(VOUT)を作成する

$ NULL_ID=$(pactl load-module module-null-sink sink_name=VOUT sink_properties=device.description=VOUT)

_ 利用可能なソースを確認する

$ pactl list short sources
2974    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor     PipeWire        s24-32le 2ch 48000Hz    SUSPENDED
2975    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor     PipeWire        s24-32le 2ch 48000Hz    SUSPENDED
2976    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor     PipeWire        s24-32le 2ch 48000Hz    SUSPENDED
2977    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink.monitor        PipeWire        s32le 2ch 48000Hz       RUNNING
2978    alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source     PipeWire        s32le 4ch 48000Hz       RUNNING
3106    VOUT.monitor    PipeWire        float32le 2ch 48000Hz   SUSPENDED

又は

$ LANG=C LC_ALL=C pactl list sources | grep 'Name:'
        Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor
        Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor
        Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor
        Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink.monitor
        Name: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source
        Name: VOUT.monitor

_ マイク入力をVOUTへ接続する

$ MIC_ID=$(pactl load-module module-loopback \
   source=alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source \
   sink=VOUT)

_ ヘッドフォンの再生音をVOUTへ接続する

$ HP_ID=$(pactl load-module module-loopback \
   source=alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink.monitor \
   sink=VOUT)

_ ffmpegで録音する

$ ffmpeg -f pulse -i VOUT.monitor output.mp3

_ 仮想デバイスを削除する

$ pactl unload-module "$MIC_ID"
$ pactl unload-module "$HP_ID"
$ pactl unload-module "$NULL_ID"

又は

$ pactl list short modules
... anip ...
536870916       module-null-sink        sink_name=VOUT sink_properties=device.description=VOUT
536870917       module-loopback source=alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink.monitor sink=VOUT
536870918       module-loopback source=alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source sink=VOUT

表示されたIDの降順に削除する。

$ pactl unload-module 536870918
$ pactl unload-module 536870917
$ pactl unload-module 536870916

_ その他

デフォルトのシンク名、ソース名の取得

$ pactl get-default-sink
alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink
$ pactl get-default-source
alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source

又はpactlの引数の中で@DEFAULT_SINK@@DEFAULT_SOURCE@のような記述ができる。

.fvwm2rcの設定

# For Pulseaudio
#Key XF86AudioRaiseVolume A N Exec exec sh -c 'index=`pacmd list-sinks | grep "index:" | egrep " \* " | sed -e "s/^.*index: *//"`; pactl set-sink-volume ${index} +3%'
#Key XF86AudioLowerVolume A N Exec exec sh -c 'index=`pacmd list-sinks | grep "index:" | egrep " \* " | sed -e "s/^.*index: *//"`; pactl set-sink-volume ${index} -3%'
#Key XF86AudioMute A N Exec exec sh -c 'index=`pacmd list-sinks | grep "index:" | egrep " \* " | sed -e "s/^.*index: *//"`; pactl set-sink-mute $index toggle'
# For Pipewire
Key XF86AudioRaiseVolume A N Exec exec pactl set-sink-volume @DEFAULT_SINK@ +3%
Key XF86AudioLowerVolume A N Exec exec pactl set-sink-volume @DEFAULT_SINK@ -3%
Key XF86AudioMute A N Exec exec pactl set-sink-mute @DEFAULT_SINK@ toggle