<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>联想 on 欧式fifty 嘅 blog</title><link>https://blog.ous50.moe/yue-cn/tags/%E8%81%94%E6%83%B3/</link><description>Recent content in 联想 on 欧式fifty 嘅 blog</description><generator>Hugo -- gohugo.io</generator><language>yue-cn</language><copyright>欧式fifty 2020-</copyright><lastBuildDate>Tue, 08 Nov 2022 02:06:00 +0000</lastBuildDate><atom:link href="https://blog.ous50.moe/yue-cn/tags/%E8%81%94%E6%83%B3/index.xml" rel="self" type="application/rss+xml"/><item><title>修复联想 Legion（拯救者） 笔电开咗独显直连之后光暗调节功能键冇反应嘅问题</title><link>https://blog.ous50.moe/yue-cn/p/%E4%BF%AE%E5%A4%8D%E8%81%94%E6%83%B3-legion%E6%8B%AF%E6%95%91%E8%80%85-%E7%AC%94%E7%94%B5%E5%BC%80%E5%92%97%E7%8B%AC%E6%98%BE%E7%9B%B4%E8%BF%9E%E4%B9%8B%E5%90%8E%E5%85%89%E6%9A%97%E8%B0%83%E8%8A%82%E5%8A%9F%E8%83%BD%E9%94%AE%E5%86%87%E5%8F%8D%E5%BA%94%E5%98%85%E9%97%AE%E9%A2%98/</link><pubDate>Tue, 08 Nov 2022 02:06:00 +0000</pubDate><guid>https://blog.ous50.moe/yue-cn/p/%E4%BF%AE%E5%A4%8D%E8%81%94%E6%83%B3-legion%E6%8B%AF%E6%95%91%E8%80%85-%E7%AC%94%E7%94%B5%E5%BC%80%E5%92%97%E7%8B%AC%E6%98%BE%E7%9B%B4%E8%BF%9E%E4%B9%8B%E5%90%8E%E5%85%89%E6%9A%97%E8%B0%83%E8%8A%82%E5%8A%9F%E8%83%BD%E9%94%AE%E5%86%87%E5%8F%8D%E5%BA%94%E5%98%85%E9%97%AE%E9%A2%98/</guid><description>&lt;h2 id="简介"&gt;&lt;a href="#%e7%ae%80%e4%bb%8b" class="header-anchor"&gt;&lt;/a&gt;简介
&lt;/h2&gt;&lt;p&gt;联想 Legion 系列笔电用嘅系 IdeaPad ACPI 驱动，喺普通配置下，除咗 F9（我的最爱键）、F11（切换分页键）同 F12（计数机键）之外，差唔多所有功能键都用到，因为呢几个键嘅 ACPI 功能冇定义到：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-zsh" data-lang="zsh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo acpi_listen
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 8FC0DE0C-B4E4- 000000d0 &lt;span class="m"&gt;00000000&lt;/span&gt; &lt;span class="c1"&gt;#F9&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;^&lt;span class="o"&gt;[&lt;/span&gt;^&lt;span class="o"&gt;[[&lt;/span&gt;27&lt;span class="p"&gt;;&lt;/span&gt;5&lt;span class="p"&gt;;&lt;/span&gt;9~ &lt;span class="c1"&gt;#F11 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;8FC0DE0C-B4E4- 000000d0 &lt;span class="m"&gt;00000000&lt;/span&gt; &lt;span class="c1"&gt;#F12&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但系如果喺 BIOS 度开咗“独显直连”选项，F5（光啲）同 F6（暗啲）功能键就会冇反应，就算行 &lt;code&gt;acpi_listen&lt;/code&gt; 显示一切正常都系咁：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-zsh" data-lang="zsh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo acpi_listen
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;video/brightnessup BRTUP &lt;span class="m"&gt;00000086&lt;/span&gt; &lt;span class="m"&gt;00000000&lt;/span&gt; &lt;span class="c1"&gt;#F6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;video/brightnessdown BRTDN &lt;span class="m"&gt;00000087&lt;/span&gt; &lt;span class="m"&gt;00000000&lt;/span&gt; &lt;span class="c1"&gt;#F5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;原因系而家控制背光嘅设备转咗做 &lt;code&gt;nvidia_0&lt;/code&gt;，同定义好嘅 acpi 动作对唔上。Arch Linux 用户可以装 &lt;a class="link" href="https://wiki.archlinux.org/title/Backlight#xbacklight" target="_blank" rel="noopener"
 &gt;xbacklight&lt;/a&gt; 喺命令行调校背光。但系个体验好差：次次想调光暗都要开个终端，再用 root 权限行 xbacklight。呢篇文章就系为咗整返好个功能键。&lt;/p&gt;
&lt;p&gt;记住：你依然唔可以喺“电池同亮度”设定度调校光暗。&lt;/p&gt;
&lt;h2 id="解决方案"&gt;&lt;a href="#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88" class="header-anchor"&gt;&lt;/a&gt;解决方案
&lt;/h2&gt;&lt;p&gt;就咁创建呢啲文件出嚟再重开机就得。&lt;/p&gt;
&lt;h3 id="etcacpieventsfnf6-brightnessup"&gt;&lt;a href="#etcacpieventsfnf6-brightnessup" class="header-anchor"&gt;&lt;/a&gt;/etc/acpi/events/FnF6-brightnessup
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#FnF6 video/brightnessup BRTUP 00000086 00000000
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;event=video/brightnessup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;action=https://blog.ous50.moe/etc/acpi/actions/FnF6-brightnessup.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="etcacpiactionsfnf6-brightnessupsh"&gt;&lt;a href="#etcacpiactionsfnf6-brightnessupsh" class="header-anchor"&gt;&lt;/a&gt;/etc/acpi/actions/FnF6-brightnessup.sh
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设定静态增加嘅数值。记住，呢个动作会执行两次。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 呢个数值取决于你个桌面环境实际嘅变化量（KDE 入面系 6）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;IncVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 攞最大光暗度。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -r MaxVal &amp;lt; &lt;span class="s2"&gt;&amp;#34;/sys/class/backlight/nvidia_0/max_brightness&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 攞而家嘅光暗度。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -r CurrVal &amp;lt; &lt;span class="s2"&gt;&amp;#34;/sys/class/backlight/nvidia_0/brightness&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 将新数值设为当前数值加增量。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NewVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;&lt;span class="nv"&gt;$CurrVal&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nv"&gt;$IncVal&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$NewVal&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 将佢设定喺唔超过最大值嘅阈值。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ThresholdVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;&lt;span class="nv"&gt;$NewVal&lt;/span&gt;&amp;lt;&lt;span class="nv"&gt;$MaxVal&lt;/span&gt;?&lt;span class="nv"&gt;$NewVal&lt;/span&gt;:&lt;span class="nv"&gt;$MaxVal&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ThresholdVal&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 直接设定新数值。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="nv"&gt;$ThresholdVal&lt;/span&gt; &amp;gt; /sys/class/backlight/nvidia_0/brightness 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;logger &lt;span class="s2"&gt;&amp;#34;[ACPI] brightnessup |&lt;/span&gt;&lt;span class="nv"&gt;$CurrVal&lt;/span&gt;&lt;span class="s2"&gt;| |&lt;/span&gt;&lt;span class="nv"&gt;$NewVal&lt;/span&gt;&lt;span class="s2"&gt;| |&lt;/span&gt;&lt;span class="nv"&gt;$ThresholdVal&lt;/span&gt;&lt;span class="s2"&gt;|&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="etcacpieventsfnf5-brightnessdown"&gt;&lt;a href="#etcacpieventsfnf5-brightnessdown" class="header-anchor"&gt;&lt;/a&gt;/etc/acpi/events/FnF5-brightnessdown
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#FnF5 video/brightnessdown BRTDN 00000087 00000000 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;event=video/brightnessdown 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;action=https://blog.ous50.moe/etc/acpi/actions/FnF5-brightnessdown.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="etcacpiactionsfnf5-brightnessdownsh"&gt;&lt;a href="#etcacpiactionsfnf5-brightnessdownsh" class="header-anchor"&gt;&lt;/a&gt;/etc/acpi/actions/FnF5-brightnessdown.sh
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设定静态减少嘅数值。记住，呢个动作会执行两次。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 呢个数值取决于你个桌面环境实际嘅变化量（KDE 入面系 6）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DecVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设定我哋接受嘅最细值。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MinVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 攞而家嘅光暗度。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -r CurrVal &amp;lt; &lt;span class="s2"&gt;&amp;#34;/sys/class/backlight/nvidia_0/brightness&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 将新数值设为当前数值减去减量。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NewVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;&lt;span class="nv"&gt;$CurrVal&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;$DecVal&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$NewVal&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 将佢设定喺唔低于最细值嘅阈值。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ThresholdVal&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt;&lt;span class="nv"&gt;$NewVal&lt;/span&gt;&amp;gt;&lt;span class="nv"&gt;$MinVal&lt;/span&gt;?&lt;span class="nv"&gt;$NewVal&lt;/span&gt;:&lt;span class="nv"&gt;$MinVal&lt;/span&gt;&lt;span class="k"&gt;))&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ThresholdVal&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 直接设定新数值。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="nv"&gt;$ThresholdVal&lt;/span&gt; &amp;gt; /sys/class/backlight/nvidia_0/brightness 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;logger &lt;span class="s2"&gt;&amp;#34;[ACPI] brightnessdown |&lt;/span&gt;&lt;span class="nv"&gt;$CurrVal&lt;/span&gt;&lt;span class="s2"&gt;| |&lt;/span&gt;&lt;span class="nv"&gt;$NewVal&lt;/span&gt;&lt;span class="s2"&gt;| |&lt;/span&gt;&lt;span class="nv"&gt;$ThresholdVal&lt;/span&gt;&lt;span class="s2"&gt;|&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>