Arc 浏览器上手
前一段时间我通过朋友拿到了一个体验 Arc 浏览器的邀请码,于是我开始将 Arc 浏览器当作我的主力浏览器使用了一段时间。由于生活中需要忙各种其他事情,于是这个上手体验文被拖到了现在。这篇文章仍然主要着重于 Arc 浏览器带给我的第一印象,那我们开始吧!
前一段时间我通过朋友拿到了一个体验 Arc 浏览器的邀请码,于是我开始将 Arc 浏览器当作我的主力浏览器使用了一段时间。由于生活中需要忙各种其他事情,于是这个上手体验文被拖到了现在。这篇文章仍然主要着重于 Arc 浏览器带给我的第一印象,那我们开始吧!
随着 helloSystem 0.7.0 的发布和更多内部工作,helloSystem 正在增强稳定性,为 macOS 提供一个“开源”的替代方案。
<h1 id="在-macos-中将外置键盘的-option-和-command-键左右调转" tabindex="-1">在 macOS 中将外置键盘的 Option 和 Command 键左右调转 <a class="header-anchor" href="#在-macos-中将外置键盘的-option-和-command-键左右调转" aria-label="Permalink to “在 macOS 中将外置键盘的 Option 和 Command 键左右调转”">​</a></h1> <p>长期以来,我一直为我的 Mac 着一个 Windows 键位格式的外接机械键盘。众所周知,在使用 Windows 键位的时候,Option 和 Command 键是相互对调的。幸好苹果在系统设置中为我们提供了将例如 Option 和 Command 等修饰键重新映射的功能(见下图)。但是,在近期的一些 macOS 版本中,使用当前方法会导致修饰键左右翻转(例如左侧 Command 输出为右侧 Command,右侧 Command 输出为左侧 Command),而这个问题需要进行解决。</p> <p><img src="https://img.qubik65536.top/macOS-Modifier-Keys.png" alt="macOS 键位设置界面"></p> <div class="ct-callout ct-callout--info"><p class="ct-callout__title">提示</p> <p>在本文中,如果没有提到<strong>左/右</strong>侧按键,则默认为两个均可。</p> </div> <div class="ct-callout ct-callout--info"><p class="ct-callout__title">提示</p> <p>本文内容使用英语操作系统的界面</p> </div> <h2 id="提前准备" tabindex="-1">提前准备 <a class="header-anchor" href="#提前准备" aria-label="Permalink to “提前准备”">​</a></h2> <p>你需要准备以下东西/软件/网站来帮助你进行接下来的操作</p> <ol> <li>基础的知识与认知</li> <li>一个可以查看并编辑 macOS plist 文件的工具,比如 <a href="https://developer.apple.com/xcode/" target="_blank" rel="noreferrer">Xcode</a>,目前极少有其他免费的可视化编辑工具,当然,如果你愿意的话,你也可以尝试 <a href="https://marketplace.visualstudio.com/items?itemName=dnicolson.binary-plist" target="_blank" rel="noreferrer">VScode 的 Binary Plist</a> 插件,或者 <a href="https://macromates.com" target="_blank" rel="noreferrer">TextMate for macOS</a> 等软件。但是后两者虽然同样是免费的,但不提供可视化编辑工具,它们分别会以一个类似于 XML 和 Json 的格式显示 plist 的内容,所以你需要相关知识。</li> <li>一个测试按键功能的网站,例如 <a href="https://en.key-test.ru" target="_blank" rel="noreferrer">"Key-Test" - keyboard test online</a>。</li> <li>一个十六进制转十进制的工具。或者你也可以使用命令行完成这个任务(见下章)。</li> </ol> <p>那让我们开始吧!</p> <h2 id="使用-bash-命令行将十六进制数转换为十进制" tabindex="-1">使用 bash 命令行将十六进制数转换为十进制 <a class="header-anchor" href="#使用-bash-命令行将十六进制数转换为十进制" aria-label="Permalink to “使用 bash 命令行将十六进制数转换为十进制”">​</a></h2> <p>打开你的命令行(比如 Terminal),输入以下命令:</p> <div class="ct-code"><div class="ct-code__titlebar"><span class="ct-code__meta"><span class="ct-code__lang">bash</span></span><button class="ct-code__copy" type="button" data-ct-code-copy aria-label="Copy" title="Copy">[<span class="ct-code__copy-label" data-ct-code-copy-label>Copy</span>]</button></div><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes oxocarbon-light oxocarbon-dark oxocarbon-paper" style="--shiki-light:#37474F;--shiki-dark:#dde1e6;--shiki-paper:#0d0b07;--shiki-light-bg:#ffffff;--shiki-dark-bg:#161616;--shiki-paper-bg:#ffffff" tabindex="0" dir="ltr" v-pre=""><code><span class="line"><span style="--shiki-light:#673AB7;--shiki-light-font-weight:inherit;--shiki-dark:#FF7EB6;--shiki-dark-font-weight:inherit;--shiki-paper:#575757;--shiki-paper-font-weight:bold">echo</span><span style="--shiki-light:#37474F;--shiki-dark:#DDE1E6;--shiki-paper:#0D0B07"> $(</span><span style="--shiki-light:#FF7EB6;--shiki-dark:#3DDBD9;--shiki-paper:#0D0B07">(</span><span style="--shiki-light:#673AB7;--shiki-light-font-weight:inherit;--shiki-dark:#FF7EB6;--shiki-dark-font-weight:inherit;--shiki-paper:#575757;--shiki-paper-font-weight:bold">16#046D</span><span style="--shiki-light:#FF7EB6;--shiki-dark:#3DDBD9;--shiki-paper:#0D0B07">)</span><span style="--shiki-light:#37474F;--shiki-dark:#DDE1E6;--shiki-paper:#0D0B07">)</span></span></code></pre> </div></div> <p>随后输出的结果即为 <code>0x046D</code> 的十进制表示。</p> <h2 id="找到你键盘的-vendorid-厂商id-与-productid-硬件-产品id" tabindex="-1">找到你键盘的 VendorID(厂商ID)与 ProductID(硬件/产品ID) <a class="header-anchor" href="#找到你键盘的-vendorid-厂商id-与-productid-硬件-产品id" aria-label="Permalink to “找到你键盘的 VendorID(厂商ID)与 ProductID(硬件/产品ID)”">​</a></h2> <div class="ct-callout ct-callout--tip"><p class="ct-callout__title">提示</p> <p>我使用的是一个 USB 无线 + 有线均可使用的键盘,蓝牙键盘可能需要其他方法找到 ID</p> </div> <div class="ct-callout ct-callout--warning"><p class="ct-callout__title">提示</p> <p>从这一步开始,你需要接入你的外接键盘</p> </div> <p>这一步我们的目的是找到键盘在系统中的标识符,以便我们找到键盘映射设置。</p> <p>按住 ⌥ 键,点击屏幕左上角的 Apple 图标,点击 <code>System Information</code>(第一个选项)。</p> <p>在左侧菜单中找到 <code>Hardware</code> 下方的 <code>USB</code>,点击它,在右侧就会显示已连接到电脑的 USB 设备,找到你的键盘(作为参考,在我这里有线模式显示为 <code>G915 WIRELESS RGB MECHANICAL GAMING KEYBOARD</code>,无线模式显示为 <code>USB Reciver</code>),点击它。</p> <p><img src="https://img.qubik65536.top/KeyboardSystemInformation.png" alt="系统信息界面"></p> <p>你在这里会找到你的键盘的十六进制 VendorID 和 ProductID。将其转换成十进制并记录下来。</p> <div class="ct-callout ct-callout--warning"><p class="ct-callout__title">提示</p> <p>假如你的键盘同时支持有线和无线模式,那么 USB 线和 USB 无线接收器会显示为两个不同的 ID,需要单独设置,所以两者均需要记录</p> </div> <h2 id="编辑-plist-文件" tabindex="-1">编辑 plist 文件 <a class="header-anchor" href="#编辑-plist-文件" aria-label="Permalink to “编辑 plist 文件”">​</a></h2> <p>前往 <code>~/Library/Preferences/ByHost/</code> 路径,找到 <code>.GlobalPreferences.XXXXXXXX-YYYY-ZZZZ-WWWW-VVVVVVVVVVVV.plist</code> 格式的 plist 文件,打开它。</p> <div class="ct-callout ct-callout--warning"><p class="ct-callout__title">提示</p> <p>从此处开始,我们会提到 <code>Array</code>/<code>Dictionary</code>/<code>Number</code> 等数据类型,如果你使用 XCode,则可以通过查看 <code>Type</code> 一栏来获得数据类型,如果你使用 VSCode,则类型为 XML 标签的命名,如果你使用 TextMate,则需要按照 Json 的方法辨认这些类型。</p> </div> <h3 id="已经进行过键位设置" tabindex="-1">已经进行过键位设置 <a class="header-anchor" href="#已经进行过键位设置" aria-label="Permalink to “已经进行过键位设置”">​</a></h3> <p>接下来,我们会提到多次 “找到”,但是这是建立在你已经在系统偏好设置中设置了键位的猜测下的,假如你确定你没有这一项,则跳到第二部分。</p> <p>你需要在文件中找到一个到多个 <code>com.apple.keyboard.modifiermapping.XXXX-YYYYY-0</code> 格式命名的 <code>Array</code>。其中 <code>XXXX</code> 是你的键盘的十进制 VendorID,<code>YYYY</code> 是你的键盘的十进制 ProductID。其中,会有命名为 <code>Item Z</code>(<code>Z</code> 是一个数)的数个(至少四个) <code>Dictionary</code>。其中,你会找到 <code>HIDKeyboardModifierMappingSrc</code> 和 <code>HIDKeyboardModifierMappingDst</code> 两个 <code>Number</code>。其中,<code>HIDKeyboardModifierMappingSrc</code> 是你的原键位,<code>HIDKeyboardModifierMappingDst</code> 是你想要的新键位。</p> <p>接下来,按照下方对应的表格将对应原键位的新键位设置到你的键盘上。注意不要看错原键位哦!</p> <p>| 原键位 | 新键位 | |</p>
最近我有了在我的 macOS 设备上运行 Linux 的需求,而我认为 Parallel Desktop 和 VMware Fusion 都体积较大。但我突然想到了 UTM 软件。它以可以在 iOS 上运行虚拟机而闻名,但是这个软件也有 macOS 版本,而且相对其他虚拟机软件来说,它更轻量化,所以我打算尝试一下该软件。