# 【老鼠喵喵叫】x002 键盘自定义

**URL:** <https://meta.appinn.net/t/topic/40849>\
**Category:** 稻米鼠的频道\
**Created:** [2023 年2 月 20 日 09:43 UTC](https://meta.appinn.net/t/topic/40849 "2023-02-20T09:43:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
**Post date:** [2023 年2 月 20 日 09:43 UTC](https://meta.appinn.net/t/topic/40849/1 "2023-02-20T09:43:00Z")

</div>

## 这是什么

大概就是键盘上的按键的功能，都可以自己定制。

## 有什么用

更适合自己的使用习惯，更方便的设定快捷键，更顺畅的工作流。

## 好像没用

是啊，说键盘布局，常用布局大家都习惯了，为什么要改？说快捷键，常用软件都支持自定义快捷键，为什么要从键盘入手？说宏，说脚本（不懂可以理解为连点器先），这又不是键盘改键可以完成的。

## 所以为什么？

键盘上的按键不多，而某些时候我们希望快速呼出某个常用功能，比如快速截图，快速打开计算器。这时候我们会为这个功能设定一个快捷键，然后按一下就打开了（开始执行）对应的功能，很方便。

但问题也很多：

- 设定太多了记不住，容易搞得越来越复杂，越来越不直观
- 按键冲突，这个是最频繁遇到的

说到底还是按键有限。最容易想到的办法就是——假设我有好几个键盘，然后能让每个按键对应一种功能，然后贴上标签，那就好了。这是一个方向，很多做多媒体/设计相关的人员选择的也都是这种方案。

另一个方向——我能不能让我的键盘从几套配置之间任意切换？这样有两个好处：省钱（不用买很多键盘），省力（不用伸手到其他键盘上）。当然，我是开玩笑的，两种方案没有优劣，看自己的喜好和习惯就行。

## 能怎么样

有没有觉得现在的快捷键好复杂啊！Ctrl、Alt、Shift 甚至 Win 都用上了，甚至不知道该用怎样的指法去按。是可以自定义，但是选择就这么多，一个不小心就和其他软件冲突了。

假设有一个反人类的快捷键： Ctrl+Alt+Shift+I，但这个操作的使用频率还很高。我把它重新定义为 F13+I，应该不会冲突了吧？冷知识：其实功能按键有 F1~F24，不过一般用不到那么多，所以现在键盘基本都是 F1~F12。这里用了一个键盘上一般没有的按键，肯定不冲突了。

当然，键盘上没有这个按键，我们自己也没法按。但如果我们的键盘多了一层配置，在这层配置下，按 I 就会向的电脑发送 F13+I，那就可以了。

## 不太懂

我知道你听的不是很懂。所以换个角度描述这件事情。

键盘平时就是普通的键盘，但当我按下 Fn，这时候的键盘就变得完全不一样了，每个按键都对应了新的功能，这时候按下 I 就是执行上面我们假设的那个常用操作。

哦，这不就是笔记本上功能键的逻辑嘛。这也没啥呀。

如果：这些是可以自定义的，如果不止有一个 Fn，还有 Fn2、Fn3……

也就是 **我们可以在键盘上绑定大量的操作，而且不容易混乱** 。

## 细节插播

上面为什么不直接让 I 对应 Ctrl+Alt+Shift+I，而是要先修改成 F13+I？

两种方法当然都可以，我只是为了保证热键对应的功能的唯一性，避免和某些软件冲突。

## 我没需求吧

听起来懂了，好强啊！（这么说老鼠就开心了吧）但我好像没什么应用场景。

老鼠在写东西的时候会有一些困扰，比如，我想输入 ≈，又或者 °，怎么办呢？你会说输入法啦，但是还有一些叫不出名称来的符号呢？要是我能够像输入 = 和 。一样方便的输入该有多好啊！

比如 Fn+= 就输入 ≈，Fn+。 就输入°

这种想法应该大家都会有过吧？

## 加强一下

如果说键盘能做的只是告诉电脑，用户按下了哪个（或者哪几个）按键，可以产生的变化并不多。那在电脑端再有一个程序接应一下的话，就变得非常哇塞了。

于是我的键盘就多了很多层：

- 一层用来映射键盘上没有的按键，就是传统 Fn 的功能
- 一层用来调用 AHK 实现运行各种功能脚本（比如连点器，这么说只是为了让大家容易理解
- 一层用来输入特殊符号
- 一层用来输入快捷短语（可能是动态的，比如时间日期）
- ……

## 等一下

还是没啥变化，后面都是调用脚本嘛。对，但现在我记得住了，这些按键的设定变得有条理，符合我自己的预期了，一个功能，我第一念想到哪个按键就绑定在哪个按键上，我就不用记忆了。分层是按着类别分的，需要某一类的功能我就切换到对应层，按下自己觉得应该是的按键就行。

当记忆成本被大幅度降低，这种功能绑定的可用性就大大提高了。

## 只是皮毛

这些也只是皮毛，工具而已，并不复杂，但应用起来确实可以千变万化的提升体验，就令人着迷。

老鼠如此痴迷这件事情，就想着将它介绍给更多的人，所以希望这篇内容可以让更多的人了解到，键盘是可以按着自己的需求改造的，而不是只能按下 A 输入 A。

## 怎么用上？

- 买，买个可以自定一个键盘！（ ~~打死~~
- 一般罗技家的键盘都支持自定义，查查看。
- 买一个键盘映射转接器（只是知道有这东西，但我没找准关键词，没搜到），把它接在电脑和键盘之间，就可以通过附带软件给键盘增加功能了。不过性价比比较一般。
- 用 [Capsicain](https://meta.appinn.net/t/topic/39225) 这类底层改键软件（我现在就是，不过自定义门槛有点高）。
- 用 [MyKeymap](https://meta.appinn.net/t/topic/26989) 这类软件层面的按键映射工具，同类的还有比如 [CapsLock+](https://capslox.com/capslock-plus/)，但从某种程度上说它们更像是给了一整套完整的定义，如果你对于如何开发自己的键盘没思路，它们的方案是很值得参考一下的。
- 用 AHK，这个劲大！很多时候兜兜转转还是会用上它，不过完全用它来深度自定义还是有点学习门槛的。

* * *

就酱吧，欢迎大佬指正，欢迎大家讨论

---

<div class="post-metadata">

**Author:** ![Randir](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/r/ac8455/32.png) [@Randir](https://meta.appinn.net/u/Randir)\
**Post date:** [2023 年2 月 20 日 10:27 UTC](https://meta.appinn.net/t/topic/40849/2 "2023-02-20T10:27:19Z")

</div>

> [@dms](#):
>
> 键盘映射转接器

> **[Hasu USB to USB Controller Converter » 1upkeyboards](https://1upkeyboards.com/shop/controllers/usb-to-usb-converter/)**
>
>   Turn almost any USB keyboard into a programmable keyboard! This converter, created by Hasu, allows you to change the keymap and add functions through TMK firmware. NO soldering required. Externally attached. Add up to 7 layers and up to 32...

[![](https://img.youtube.com/vi/GZEoss4XIgc/maxresdefault.jpg "Can your Keyboard do THIS?? - Make ANY key a MACRO!") ](https://www.youtube.com/watch?v=GZEoss4XIgc)

---

<div class="post-metadata">

**Author:** ![yuuka](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/y/49beb7/32.png) [@yuuka](https://meta.appinn.net/u/yuuka)\
**Post date:** [2023 年2 月 20 日 11:11 UTC](https://meta.appinn.net/t/topic/40849/3 "2023-02-20T11:11:50Z")

</div>

> [@dms](#):
>
> 比如 Fn+= 就输入 ≈，Fn+。 就输入°

> **[GitHub - samhocevar/wincompose: 🔣 Compose Key for Windows](https://github.com/samhocevar/wincompose)**
>
> 🔣 Compose Key for Windows

---

<div class="post-metadata">

**Author:** ![yuuka](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/y/49beb7/32.png) [@yuuka](https://meta.appinn.net/u/yuuka)\
**Post date:** [2023 年2 月 20 日 11:18 UTC](https://meta.appinn.net/t/topic/40849/4 "2023-02-20T11:18:22Z")

</div>

我有这么一把键盘，可惜多余的键会被windows直接drop掉

[https://deskthority.net/wiki/Sun\_Type\_7](https://deskthority.net/wiki/Sun_Type_7)

 ![image](https://meta.appinn.net/uploads/default/original/3X/a/4/a432a69dcf8919419b53c5664031bb6414d00c89.jpeg)

---

<div class="post-metadata">

**Author:** ![dms](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dms/32/3545_2.png) [@dms](https://meta.appinn.net/u/dms)\
**Post date:** [2023 年2 月 20 日 13:59 UTC](https://meta.appinn.net/t/topic/40849/5 "2023-02-20T13:59:12Z")

</div>

老鼠也不太懂，本意是写一个面向更不懂的小白的介绍式内容的……

似乎只要能读到扫描码（键盘有向系统发送信息）就可以用软件重定义
