Colemak佈局的實現 Window+Linux+Android

前言

大部分同學使用的鍵盤佈局都是QWERTY佈局

而科學研究表明,可能這個設計不是最高效率的佈局,甚至的有意爲了降低打字的效率而研究的,那麼當初爲什麼要這麼設計呢?
關於鍵盤佈局歷史故事的詳細內容,可以參考:知乎:鍵盤佈局有哪些種?各種佈局的設計出發點是什麼?

今天小編給大家介紹另一種佈局

colemak佈局

這種鍵盤佈局,根據熱力圖顯示,我們打字中經常使用的按鍵(比如元音字母a,o,e,i,u)都會被設計在鍵盤的中間的一排中,這樣可以減少我們在打字的過程中的手指的移動,打字的效率自然就會提高

切換這種佈局的方式有很多,經過小編汗水親測以及對比,autohotkey是其中最好的解決方案,因爲他是通過腳本進行按鍵的替換,所以在使用的時候你不需要侷限於輸入法,你可以使用colemak輸入英文,也可以使用它來輸入中文(拼音輸入)。
萬事開頭難,你一開始使用他一定會不適應的,但是隻要你堅持打到3個星期,我相信,這個時候你的打字速度足夠滿足正常的輸入需求了。

autohotkey介紹

AutoHotkey 是一個自動化軟件工具,通過熱鍵、熱字串或設定的條件自動執行重複性工作。首頁 發現 等你來答 登錄 加入知乎 AutoHotkey AutoHotkey 是一個自動化軟件工具,通過熱鍵、熱字串或設定的條件自動執行重複性工作 .

更多詳細信息也可以參考autohotkey官網 或者 中文文檔

autohotkey安裝

在使用autohotkey之前,我們需要進行下載安裝

https://autohotkey.com/download/ahk-install.exe

安裝後會有文檔提示,這裏我們可以看在線的文檔,因爲這裏面有指定語言,可以翻譯成中文來閱讀

如何創建一個腳本

這裏面有很多的語法,我們需要實現的功能是創建一個替換鍵盤位置的腳本,所以不需要過多的瞭解這個語法和基本數據類型以及流程控制和函數中

右鍵點桌面空白處.
點擊"新建"菜單.
點擊裏面的"AutoHotkey Script"新建一個腳本.
給腳本命名. 備註: 文件名必須帶 .ahk 後綴, 例如 MyScript.ahk
找到剛剛新建的腳本並右鍵點擊它.
點擊"Edit Script".
一個新窗口被彈出, 也許是記事本. 如果是這樣就成功了!
現在你已經創建了一個腳本, 我們需要加點內容到腳本中. 如果需要用到內置命令, 函數和變量, 請查看第 5 節.

這是一個使用 Send 命令創建的一個包含熱鍵的簡單腳本, 當你按下熱鍵後, 它會向窗口發送一段文字.

^j::
Send, My First Script
Return
S↓
稍後我們將進行更深入的研究. 在此之前, 我們先解釋一下上面的代碼:

第一行: ^j:: 是熱鍵. ^ 代表 Ctrl, j 是字母 J. 任何在 :: 左邊 的字符表示您需要按下的熱鍵.
第二行: Send, My First Script 表示如何發送按鍵. Send 是命令, 任何在逗號(,) 之後的內容將會被鍵入.
第三行: Return. Return 將會成爲你最好的朋友. 它將停止執行之後的代碼. 當你的腳本包含越來越多的東西時, 使用 Return 會避免很多問題.
保存文件.
雙擊桌面上的文件來運行它, 打開記事本或者其他可以輸入文字的地方然後按下 Ctrl 和 J.
太好了! 你的第一個腳本完成了. 給自己一些獎勵, 然後返回閱讀本教程的其餘部分.

autohotkey使用

其實autohotkey的功能十分的強大,我們這次只是會使用其中的最最基礎的功能

我寫的腳本代碼如下

/*
* author:@victorfegming
* address:gitee.com/victorfengming
* 項目下載:https://gitee.com/victorfengming/colemak_geek
* 博客地址:https://victorfengming.gitee.io/
*/


;先看效果:替換後的佈局
/*
 `~  1 2 3 4 5 6 7 8 9 0 - = backsp
Tab   Q W F P G J L U Y ; [ ]  \
Back   A R S T D H N E I O " Enterr
LShift  Z X C V B K M , . / RShiftt
Ctrl Win Alt  Space Alt Menu Fn Ctrl
*/

/*

   l u y
 h n e i o '

   up↑down
<< ← ↓ → >> del

*/


;colemak的對應QWERTY鍵位
e::f
r::p
t::g
y::j
u::l
i::u
o::y
p::;
s::r
d::s
f::t
g::d
j::n
k::e
l::i
`;::o
n::k
; 這裏的替換不會影響組合的修飾符
; 比如現在按Ctrl+F就是Ctrl+F,不會是原來的Ctrl+E

;這裏是替換大寫和退格
CapsLock::BackSpace
;大寫切換不會經常用,平時用shift
LShift & CapsLock::CapsLock
;強烈建議這裏換成刪除,因爲刪除的按鍵距離主鍵盤過遠,影響打字效率

;Alt 的 方向組合
<!i::send {up}
<!k::send {Down}
<!j::send {Left}
<!l::send {Right}
<!'::send {Del}
;<h-o> =>> Home End
<!h::send {Home}
<!`;::send {End}


;Alt shift組合方向鍵
<+<!i::send {Shift down}{up}
<+<!k::send {Shift down}{Down}
<+<!j::send {Shift down}{Left}
<+<!l::send {Shift down}{Right}
<+<!h::send {Shift down}{Home}
<+<!`;::send {Shift down}{End}

;Alt ctrl組合方向鍵
<^<!i::send {Ctrl down}{up}
<^<!k::send {Ctrl down}{Down}
<^<!j::send {Ctrl down}{Left}
<^<!l::send {Ctrl down}{Right}
<^<!h::send {Ctrl down}{Home}
<^<!`;::send {Ctrl down}{End}

;Alt Ctrl Shift 組合方向鍵
<^<+<!i::send {Ctrl down}{Shift down}{up}
<^<+<!k::send {Ctrl down}{Shift down}{Down}
<^<+<!j::send {Ctrl down}{Shift down}{Left}
<^<+<!l::send {Ctrl down}{Shift down}{Right}
<^<+<!h::send {Ctrl down}{Shift down}{Home}
<^<+<!`;::send {Ctrl down}{Shift down}{End}

;Alt + ly page↑page↓
<!u::send {PgUp}
<!o::send {PgDn}

;禁止方向鍵,提醒使用主鍵盤
up::return
Down::return
Left::return
Right::return


/*
相關知識點:
- 原文地址:http://ahkcn.sourceforge.net/docs/AutoHotkey.htm
- 映射表地址:http://ahkcn.sourceforge.net/docs/KeyList.htm
- :: 表示映射
- send 發送組合鍵
- `符號用來轉義;分號
- 修飾符 Ctrl Alt Shift 對應 ^+!
- down表示按下的狀態
- &表示組合鍵
- <表示只有左邊的修飾符生效
- return 啥也不幹
*/

然後將腳本文件保存成Unicode編碼,在桌面雙擊即可執行腳本

執行過後,你會發現,你的鍵位立即生效了

如果你想停止,或者暫停,也可以在window的任務欄中,找到對應的圖標

右擊的菜單中進行相應的設置

如果你想打包成可執行文件,發給沒有安裝autohotkey的計算機中亦可以使用

操作方式很easy,在腳本文件中右擊,選擇Compile Script,即可在當前文件夾,生成一個與腳本文件同名的exe可執行文件

colemak windows 輸入法 實現方案

Colemak AutoHotKey

colemak linux 輸入法 實現方案

deepin-colemak

colemak 手機輸入法 實現方案

Colemak Geek

操作說明

  1. 安裝百度輸入法

  2. 自定義皮膚

會在 sdcard/baidu/ime/skins 目錄生成

擴展名爲 bds的 皮膚文件

  1. 將yr824563x41.bds 拷貝到 sdcard/baidu/ime/skins 目錄,重命名後 替換 你剛纔自定義的皮膚文件

  2. 在百度皮膚管理中,重新設置即可

  3. 效果如下

去操作吧

項目源代碼地址

碼雲:https://gitee.com/victorfengming/colemak_geek

感覺有幫助的夥伴可以給小編star一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章