真正从「程序员的角度」思考该使用什么配列的键盘
2024 延伸更新一篇新文章

(以下是原文)
有許多標題寫著 《開發者應該使用哪一種鍵盤?》 的文章,內容卻只是在問「你需要數字區嗎?」、「需要 F 區嗎?」,需要請選 A,不需要可選 B。事實上這類的文章並沒有「針對開發者」提供任何有用的見解。
這一篇文章 -- 或者說個人心得,主要目的是分享「從生產力的角度」來看,到底開發者應該使用哪一種配置的鍵盤?
首先,鍵盤根據不同的配置設計會有不同的尺寸,下圖只是一個初淺的分類,事實上製造商可以根據對市場的理解設計自己的鍵盤配置。因此同樣是 65% 的鍵盤尺寸,不同的製造商可能設計出不同的總鍵數。
關於鍵盤尺寸/配置的知識,並不是這篇文章的重點,就不在這邊提了,您可以在許多討論鍵盤尺寸的文章中理解這些尺寸/配置之間的差異和設計核心理念 -- 透過省去不常用的按鍵來節省空間。

以下直接進入重點,到底對一個在乎生產力的開發者來說,應該使用哪一種配置的鍵盤呢?以下先把我們要的條件列出來。
1. 非必要條件> 使用非緊湊的配置
從上圖可以發現,不同尺寸的鍵盤之間又分為「緊湊型」和「非緊湊型」。下圖是標準 104 鍵的鍵盤。

經過「緊湊設計」後,就變成 1800 配置,你可以說他是 96% 配置經過緊湊後的樣子。

從生產力的角度來看,許多人認為緊湊型的鍵盤容易有誤觸的機會發生,不適合盲打。原則上我同意,但這也並非鐵則,因為只要你熟悉的鍵盤的配置,形成肌肉記憶,應該還是可以克服的。但是對大多數人來說,使用非緊湊配置對生產力來說應該是有正向幫助的。
2. 必要條件> 至少能方便輸入中文
這一點對非英語系國家的人來說應該沒有異議。因此 40% 配置的鍵盤就立刻出局了。你可以發現 40% 的鍵盤從上到下只有 4 排,沒有數字列。因為中文輸入法選字時需要數字列,所以 40% 這種需要透過 Fn 鍵切換數字列功能的鍵盤就完全不需要考慮。

同理,還有一種少見的 50% 配置鍵盤也不應該是你考慮的對象。

3. 必要條件> 獨立方向鍵
這點也應該不會有異議,不管你是不是開發者,方向鍵一定是經常會用到的。有獨立的方向鍵是一件對輸入效率來說很重要的事情。既使在緊湊型的 65% 配置下,通常你還是可以使用獨立的方向鍵。

一旦尺寸縮到 60% 配置,方向鍵就需要配合 Fn 鍵來使用,這就很不方便了。

綜合前述的條件,你應該知道對於有中文輸入需求的使用者來說,既使你不是開發者,你至少應該使用 65% 以上尺寸的鍵盤。
4. 必要條件> 開發者希望有的按鍵
這邊才是真正的重點,決定開發者該使用哪一種配置的鍵盤的關鍵就在於 -- 你到底在「工作上」需要那些按鍵?
我就先說結論了,如果你跟我一樣在工作時「需要透過遠端連線使用 Linux 作業系統」,那麼你應該會希望至少有以下這些按鍵:
「Delete」、「Page UP」、「Page Down」
事實上,不管你是不是開發者,一般的文書作業也應該會經常使用這幾個按鍵。
「Insert」
這個按鍵經常被許多「聲稱推薦給開發者的鍵盤推薦文」給遺忘了,但對於許多開發者來說卻是最重要的事情。
想像一個狀況,你在一台 windows 電腦上透過 ssh 遠端連線到一台 Linux 主機。然後你一邊在 windows 的工作電腦上查閱文件,並且在 ssh 的終端視窗中對 shell 下達指令。這種開發模式對許多需要在工作中使用 Linux 系統的人來說是非常日常的事情。

然後你會發現當你在 windows 中以 `Ctrl+c` 複製一段指令或程式碼,嘗試在終端視窗中將剪貼簿的內容貼上時,`Ctrl+v` 是不管用的。你需要使用的是 `Shift + Insert`。如果這件事情對你來說是工作日常,那你就需要 Insert 鍵。當然,你也可以透過`點擊滑鼠的中鍵`做到一樣的事情,但對於追求高效的開發者來說,他們會盡量使用快速鍵而非使用滑鼠。
許多 80% 配置以下的鍵盤,經常會捨棄 Insert 按鍵。下圖是 75% 的鍵盤,您可以發現右側只保留了 Home、End、PgUp、PgDn。Del 按鍵則是移到 F12 的右側。沒有 Ins 按鍵。那麼這個鍵盤是否真的無法使用呢?也不是,後面會提到使用前提以及如何因應。

「` ~」
「`」和 [~] 事實上是同一顆按鍵,位於標準 104 配置中 ESC 鍵的正下方(Tab 鍵的上方)。
如果你會在工作中使用 Linux,你應該會理解「~」這個按鍵有多重要。在你走訪 Linux 的檔案系統時,「~」代表的就是使用者的「家目錄」,這個按鍵對 Linux 的使用者來說是非常重要的。
另外,寫文件也是許多開發者的日常工作之一,目前最受歡迎的技術文件撰寫規範就是 Markdown 語法。而在 Markdown 文件中要張貼程式碼所使用的標籤正是將程式碼用上下三個「`」夾起來。
因此比起「Insert」,「` ~」甚至更重要。通常在 75% 以下的鍵盤 -- 65% 可能會開始移除這個按鍵。
下圖是一個緊湊型的 65% 鍵盤,你可以發現它雖然保留了「` ~」,但卻是從最左邊移到最右上角。並且在同一列中移除了 Insert、Home、End。

而在另一款非緊湊 65% 鍵盤中,右側的田字型功能區雖然保留了 Insert、Delete、PgUp、PgDn,卻將「` ~」移除了。「` ~」和 ESC 整合在一起,需要配合 Fn 鍵觸發,這對於在工作中需要使用 Linux 的開發者來說絕對是個惡夢!

如果觀察 65% 的鍵盤可以發現從上到下總共有 5 排,因為方向鍵佔住了最下一排,表示功能區的按鍵在 65% 的尺寸規範中,你通常只能選擇 4 顆按鍵。上面兩種配置的 65% 也都只保留了 4 顆按鍵。
如果仔細看有田字功能區的 65% 鍵盤,在 PgDn 下方應該還是有空間可以再增加一個按鍵的,希望製造商將來可以評估這種設計可能。
5. 說到底,你到底選哪一種配置?
對我來說,我會希望工作使用的鍵盤至少能有這 6 顆獨立按鍵:「~、Delete、Insert、PgUp、PgDn、Home」。因此,目前市面上的 65% 是無法符合我的預期的。其實剛剛提到的 75% 是可以使用的,但是有個前提。

如上圖,75% 通常會有獨立的 F 區,因此「` ~」不會被捨棄,會在它原本該站立的地方。Del 按鍵會被移到 F12 的右邊,需要一點時間適應。右邊的功能區顯示的是 Home、End、PgUp、PgDn。雖然圖片看似沒有 Insert,但是這把鍵盤支援透過應用程式自訂義按鍵,如果我拿到這樣的鍵盤,我會把 End 鍵帽換成 Ins 鍵,然後透過鍵盤廠商的應用程式將 End 改成觸發 Ins。
因此,如果你想使用的鍵盤剛好沒有你想要的按鍵,你需要注意的是鍵盤製造商是否針對這把鍵盤提供可「自訂義按鍵」的應用程式?如果沒有,你就不應該選擇它。
所以「支援軟體自訂義按鍵的 75% 配置鍵盤」,是我認為適合開發者使用的最小鍵盤尺寸。
覺得 75% 太小嗎?
如果再往上,其實我會直接選擇 104/108 的全尺寸鍵盤。為什麼呢?
80%(87 鍵)是許多人推薦的尺寸,因為保留完整的功能區,所以不需要像 75% 一樣需要考慮是否使用軟體換鍵的問題。
因為省掉了右側數字區,許多人認為等同於增加了滑鼠的使用空間。如果你是個視覺設計師,使用各種繪圖軟體的你可能會在工作時經常使用到滑鼠。但對於「經常撰寫文字式程式碼」的開發者來說,滑鼠的使用不應該是你的主要的考量。你反而會在開發工作中經常需要輸入數字,不管是身分證字號、密碼、IP 地址、填寫表格報表...等等,都需要輸入數字。一般人通常都能輕易地使用右側數字區進行盲打,但如果只使用 80% 的單行數字區,通常效率是明顯打折扣的。

因此 87 鍵再往上的 980 對許多有數字輸入需求的人來說似乎是個更好的選擇。但是大多數的 980 都沒有完整的功能六鍵:Insert、Delete、Home、End、PgUp、PgDn,通常 980 配置的鍵盤只會在這六顆鍵中選五個。當然,如前面所描述的,我會捨棄 End。

如果你再冷靜想想,980 和 100% 在尺寸上其實並沒有差多少。為了這一點點的內縮空間,你需要透過軟體捨棄 End,也需要適應距離變遠的功能鍵(通常 104 變成 980 後,功能鍵會移到最右上方,相較於 104 你的手指移動的距離實際上是增加的)。在我看來不是個好的交易,因此我認為與其選 980 配置,真的不如直接回到全尺寸的配置。
6. 結論
總結一下,如果你是個開發者,並且在工作中需要遠端操控 Linux 作業系統,主要工作是撰寫程式碼,那麼你應該優先選擇全尺寸的 104/108 鍵盤 -- 如果你只想買一把鍵盤,就買全尺寸的。
如果你有移動的需求,我自己會選擇的是 75% 的鍵盤。
以上是個人的觀點,僅供參考。
~ END ~