很久以前看到kai叔的这个帖子,觉得受益匪浅,恰好刚才群内有人问到这个问题,说我是shell程序员,要常用到~这个符号,怎么办?然后还想起前几天有人问我怎么设置的自定义键TKG报错?比如这样(举个萌萌的栗子)
于是我就想起了这篇文章。
以下转自enjoyclick ,kai1103大神的大作。此篇文章不仅仅是介绍一个内置功能那么简单,涵盖了配列,shift键的原理,固件等知识,入门后必看。
60%键盘因为布局紧凑牺牲了很多键,导致很多键位的安排就成了难题,[Esc]键和[~`]键的安排就是难题之一。
Pure的做法是放到右Shift右边分裂出来的单独的按键上,而Poker和FC660之类则给用户提供了Shift+Esc打出浪线(~)的这个“非常规”功能(后述为何非常规)。
鉴于此功能深受很多喜欢在聊天时使用浪线
本教程默认读者具有基本的使用TKG自定义键盘布局的能力,如果读者还不熟悉TKG的话可以先参考其他更基础的教程。
==预备知识==
要谈论如题这个功能,就无法避免的必须要先说说Shift的机理。(只想知道怎么实现的用户可以直接跳到下一节)
首先,按下Shift时能打出什么字符是由电脑端决定的。
有些人认为因为“1”和“!”在一起,按下Shift+1就能打出“!”,所以只要把Esc和~放在一起,那么Shift+Esc不就能打出“~”了?
实则不然,当按下Shift+1时,键盘给电脑发送的就是Shift+1而不是“!”,电脑收到这个组合之后再对照当前的系统设置,将这个组合“翻译”成“!”。
同理,Ctrl+Shift+1的时候电脑收到的就是Ctrl+Shift+1,不可能是Ctrl+!。
另外如果Win系统下当前输入法是日语或者欧洲语言时,Shift+2就会被“翻译”成双引号("),而不是“@”。
因此,键盘本身是没法决定按键的Shift组合的,所以说如题这个功能是个“非常规”功能。
但是“非常规”并不意味着无法实现,针对想要这个功能的人我们有以下两个方案。
==方案1==
伪方案,为什么要说是伪方案呢?
归根结底,大多数GH60的默认固件已经将[~`]键放到了[Esc]键的Fn层上了,所以如果想打浪线的话,用户需要按Fn+Shift+Esc三个键。
这让
于是我们可以退而求其次,不就是想两个键打出浪线
这里以GH60简单模式为例:
1. 编辑布局
先打开KLE,在Esc的Fn层上放一个Fn键,比如Fn4。(数字随便,只要是0-31之间没用到过的就行)
2. 设置Fn功能
来到TKG,选择你的键盘,选择简单模式,把刚才编辑好的Raw data或者保存了的链接贴到复合层里,会发现比平时多了个Fn4设置。
将Fn4的功能设置为:按键操作>组合键,左Shift,` and ~。
3. 下载刷写
点击“下载 .eep 文件”,之后将eep文件刷入键盘。
现在你可以愉快地使用Fn+Esc两个键打出“~”了
此方案优点:利用Fn的组合键功能,比较“常规”。
此方案缺点:没法打出`符号。
==方案2==
有些人说了,方案1不是我想要的!
好的我们还有2号方案,真正的Shift+Esc=~。
1. 编辑布局
同样先打开KLE编辑布局,不同的是我们直接把Esc改成Fn4。(数字依然随意)
2. 设置Fn功能
来到TKG,选择键盘,简单模式,粘贴,这些步骤都一样。
这次将Fn4设置为:其他>内置功能,Tricky Esc。
3. 下载刷写
点击“下载 .eep 文件”,之后将eep文件刷入键盘。
现在你可以愉快地使用Shift+Esc打出“~”了
当然,直接按Esc的话还是会打出Esc。
此方案优点:实现了如题的功能,比较符合一些人的使用习惯。
此方案缺点:无法使用Shift+Esc这一快捷键(比如Chrome)。
另外此功能还需要键盘固件做特别对应(目前GH60,SMART68支持此功能)
==最后==
以上就是可以更简单的打出浪线(~)两套方案。
有什么问题或者意见和建议可以跟帖讨论。
注:刷写eep文件请使用最新版工具集 tkg-toolkit-master0910.zip
试试炒冷饭能不能骗到分,看你们有没有认真看我别的贴,哈哈~
所以总结就是:要打出~ 有以下8种方案:
1.刷配列,把任意一个键刷成“·~” 这个键即可
2.默认配列中:FN+ESC="`" ,FN+Shift+ESC="~"
3.使用内置的: Tricky Esc功能