跳转至

机械革命

Tuxedo驱动

机械革命的一些笔记本是志合讯息的公模机器,可使用Tuxedo的驱动。安装mechrevo-drivers-dkmsAUR包。

安装驱动后,机器上性能模式切换键变为映射Alt + Meta + F6,可利用快捷键绑定执行切换电源模式的命令Fn + F4可正确切换飞行模式,Fn + F6Fn + F7 可调节键盘背光亮度并被GNOME正确识别。

在安装tuxedo-control-center-binAUR包后,可以用TCC控制和查看机器的一些特性,但性能模式切换键在部分机型(如旷世X Pro)上仍无作用,且在部分机型(如旷世X Pro)上会使独立显卡始终处于唤醒状态。

注意

下面小节中的内容在且仅在机械革命旷世X Pro上测试过。你应当自行判断这些操作的风险。

配置键盘背光颜色

固定颜色

例:配置为红色

echo "255 0 0" | sudo tee /sys/devices/platform/tuxedo_keyboard/leds/rgb:kbd_backlight/multi_intensity

可以用systemd服务来在启动时设置键盘背光颜色。

脚本和服务示例

在合适的地方创建一个文件用来存放颜色值。我使用的是/share/kbd_backlight,内容如下:

/share/kbd_backlight
255 0 0

创建systemd服务:

/etc/systemd/system/khyan-tuxedo-keyboard-backlight.service
[Unit]
Description=Set TUXEDO Keyboard Backlight Colour
After=multi-user.target systemd-modules-load.service
ConditionPathExists=/sys/devices/platform/tuxedo_keyboard/leds/rgb:kbd_backlight/multi_intensity

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'cat /share/kbd_backlight | tee /sys/devices/platform/tuxedo_keyboard/leds/rgb:kbd_backlight/multi_intensity'
User=root
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

启用服务:

sudo systemctl enable khyan-tuxedo-keyboard-backlight.service

利用systemd服务,还可以达到自动轮换颜色的效果。

自动轮换颜色的脚本和服务示例

注意

这并未经过广泛的测试,已知可能会影响使用键盘上的按键调节背光亮度。

/usr/local/bin/khyan-tuxedo-keyboard-backlight-cycle.sh
#!/bin/bash
COLOR_FILE="/sys/devices/platform/tuxedo_keyboard/leds/rgb:kbd_backlight/multi_intensity"
RED=255
GREEN=0
BLUE=0
INTERVAL=0.01

function write_color() {
    echo "$RED $GREEN $BLUE" > $COLOR_FILE
}

function tick() {
    sleep $INTERVAL
}

while true; do
    for i in {0..250..5}; do
        GREEN=$i
        RED=$((255 - i))
        write_color
        tick
    done
    RED=0
    for i in {0..250..5}; do
        BLUE=$i
        GREEN=$((255 - i))
        write_color
        tick
    done
    GREEN=0
    for i in {0..250..5}; do
        RED=$i
        BLUE=$((255 - i))
        write_color
        tick
    done
    BLUE=0
done
/etc/systemd/system/khyan-tuxedo-keyboard-backlight-cycle.service
[Unit]
Description=Cycle TUXEDO Keyboard Backlight Colour
After=multi-user.target systemd-modules-load.service
ConditionPathExists=/usr/local/bin/khyan-tuxedo-keyboard-backlight-cycle.sh
Conflicts=khyan-tuxedo-keyboard-backlight.service

[Service]
Type=simple
ExecStart=/usr/local/bin/khyan-tuxedo-keyboard-backlight-cycle.sh
User=root
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

启用Fn锁定功能

启用:

echo 1 | sudo tee /sys/devices/platform/tuxedo_keyboard/fn_lock

禁用同理。

可以用systemd服务来在启动时启用Fn锁定功能。

脚本和服务示例

创建systemd服务:

/etc/systemd/system/khyan-tuxedo-keyboard-fnlock.service
[Unit]
Description=Enable Tuxedo Fn Lock Control
After=multi-user.target systemd-modules-load.service
ConditionPathExists=/sys/devices/platform/tuxedo_keyboard/fn_lock

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'echo 1 > /sys/devices/platform/tuxedo_keyboard/fn_lock'
ExecStop=/bin/sh -c 'echo 0 > /sys/devices/platform/tuxedo_keyboard/fn_lock'
User=root
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

启用服务:

sudo systemctl enable khyan-tuxedo-keyboard-fnlock.service