我的 Ubuntu /etc/default/keyboard
裡面有這設定:
1 | XKBOPTIONS="terminate:ctrl_alt_bksp,ctrl:nocaps" |
作用是「外加」一些選擇性的鍵盤設定。其中 terminate:ctrl_alt_bksp
這是
dpkg-reconfigure keyboard-configuration
就有選項可以設定,用途是這三個鍵一起按
就可以跳出 Xorg。而 ctrl:nocaps
則是手動加上,印象中圖形界面也可設定,但很久沒
用已不記得。這選項用途是把 Caps Lock 當成 Left Ctrl 來用。這樣設定的原因是,慣用
的編輯器 Emacs 使用時實在太常按 Ctrl,但筆電上用小指按久了會不舒服,所以用 Caps Lock
來代替。而原先的 Left Ctrl 功能仍然保留,因為外接實體鍵盤時用掌緣壓 Ctrl 很容易,
且筆電上有時仍然會用掌緣按而不用小指。
這樣設定是蠻順手,但仍有個缺點,就是沒有 Caps Lock 可用。比如要定義常數常常是
ALL_CAP_CONST
這種命名,一直按著 Shift 就有點不方便。
想到一個解決方案是拿真的沒在用的 Scroll Lock 當作 Caps Lock,偶爾要用時還有個鍵
可以按,於是想把這設定也做成一個 XKBOPTIONS
,步驟如下。
首先新增 /usr/share/X11/xkb/symbols/local
1 | xkb_symbols "sccaps" { |
接下來修改 /usr/share/X11/xkb/rules/evdev
,在 ! option = symbols
這段最後面
補上
1 | local:sccaps = +local(sccaps) |
以及 /usr/share/X11/xkb/rules/evdev.lst
, /usr/share/X11/xkb/rules/evdev.xml
都按照原先的格式加入 local:sccaps
這選項。最後把 /etc/default/keyboard
那行改為
1 | XKBOPTIONS="terminate:ctrl_alt_bksp,ctrl:nocaps,local:sccaps" |
重跑 dpkg-reconfigure keyboard-configuration
就生效。