Skip to content
返回

买了个日版键盘,结果符号全乱了

· 4 分钟 · 1,557 字

从日版 JIS 键盘到 ANSI 布局的折腾之旅,用 Karabiner-Elements 完美解决符号错位问题。

起因

上周在某鱼上看到有人出日版的 Magic Keyboard 带指纹的第四代,价格比国行便宜不少。我一看,嗯,挺香的,就下单了。

收到货才发现,这玩意儿是 JIS 布局的。什么是 JIS 布局?简单说就是日本人用的键盘布局,和我们常用的美式 ANSI 布局不一样。

最明显的区别就是数字行那一排,按下 1 键,出来的不是 1,而是 !。按 Shift+1,出来的不是 !,而是一个奇怪的符号。整个数字行都往左偏移了一位,简直是灾难。

作为一个习惯了 ANSI 键盘盲打的人,每天要敲无数的括号、引号、反引号,这键盘简直没法用。

开始折腾

我第一反应是:能不能用软件改?毕竟物理键盘已经买了,总不能退货吧(其实是懒得折腾退货)。

搜了一圈,发现 macOS 上有个神器叫 Karabiner-Elements,专门用来改键盘映射的。

但问题来了,网上的教程都是零散的,要么只改数字行,要么只改修饰键,没有一个完整的方案。

于是我决定自己动手,丰衣足食。

折腾过程

第一步:搞清楚键位差异

我把 JIS 键盘和 ANSI 键盘的布局图找出来对比了一下:

JIS 键盘数字行:

1 2 3 4 5 6 7 8 9 0 - ^ ¥

ANSI 键盘数字行:

` 1 2 3 4 5 6 7 8 9 0 - =

看出来了吗?JIS 键盘的 1 键位置,在 ANSI 键盘上是 `(反引号)。整个数字行都往右偏移了一位。

除了数字行,还有括号、引号、反斜杠这些符号键的位置也不一样。

更要命的是,JIS 键盘底部有两个特殊键:英数键かな键,ANSI 键盘上根本没有。

第二步:写配置文件

Karabiner 用 JSON 格式的配置文件来定义键位映射。我花了一晚上,把所有需要映射的键都列出来,写了 4 个配置文件:

  1. 基础版:只映射数字行(26 条规则)
  2. 完整版:数字行 + 所有符号键(40 条规则)
  3. 带修饰键版:完整版 + 英数/かな键映射(43 条规则)
  4. 完全映射版:物理位置完全对应 ANSI 布局(47 条规则)⭐ 推荐

最后一个版本是我最满意的,它不仅映射了符号键,还把修饰键(Control、Option、Command)的位置也调整了,让 JIS 键盘的物理布局完全对应 ANSI 键盘。

第三步:系统设置

光有配置文件还不够,还得把 macOS 的键盘布局改成美式英语

这一步很重要!如果系统还是用日文键盘布局,即使 Karabiner 映射了按键,系统还是会按照日文规则输出字符。

我一开始就是因为没改系统布局,按下 1 键显示的是 §,折腾了半天才发现问题。

成果

现在我的 JIS 键盘用起来和 ANSI 键盘一模一样了,敲代码完全没问题。

我把配置文件开源到了 GitHub: https://github.com/crossly/mac-keyboard-map-jis-to-ansi

仓库里有详细的中英文文档,还有键盘布局对比图,需要的朋友可以直接拿去用。

一些感想

这次折腾让我意识到,有时候”便宜”不一定真的便宜。日版键盘虽然价格低,但折腾的时间成本也不低。

不过换个角度想,折腾的过程也挺有意思的。我对 Karabiner 的理解更深了,也顺便学习了一下键盘布局的知识。

而且,开源这个配置文件说不定能帮到其他和我一样”冲动消费”的朋友,也算是做了点贡献吧。

最后,如果你也买了日版键盘,不用慌,按照我的配置文件来,10 分钟就能搞定。

如果你还没买,建议直接买国行或者美版,省得折腾😂。

但是,因为键盘宽度有点不一样,多少还是有一些便宜的,剩下的就靠适应吧。如果你愿意,也可以尝试一下,说不定会发现新的乐趣呢。

2026.01.26


Ricky's avatar

Ricky

博客作者,记录生活与技术的点滴。

分享到:

下一篇
迁移到 Astro