--- tags: 小研究 --- # 軟體工程師應該使用哪一種配置的鍵盤 [toc] ## 前言 有許多標題寫著 **《工程師應該使用哪一種鍵盤?》** 的文章,內容卻只是在問「你需要數字區嗎?」、「需要 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 鍵的鍵盤。現實是他們最後還是會在桌上放一堆雜物把那些省下的空間填滿 XD 或是認為 87 鍵比起 104 鍵來說較好攜帶,但直到他們離職為止,那個鍵盤從未離開過他的座位,一次也沒有 XD  因此 87 鍵再往上的 980 對許多有數字輸入需求的人來說似乎是個更好的選擇。但是大多數的 980 都沒有完整的功能六鍵:Insert、Delete、Home、End、PgUp、PgDn,通常 980 配置的鍵盤只會在這六顆鍵中選五個。當然,如前面所描述的,我會捨棄 End。  如果你再冷靜想想,980 和 100% 在尺寸上其實並沒有差多少。為了這一點點的內縮空間,你需要透過軟體捨棄 End,也需要適應距離變遠的功能鍵(通常 104 變成 980 後,功能鍵會移到最右上方,相較於 104 你的手指移動的距離實際上是增加的)。在我看來不是個好的交易,因此我認為與其選 980 配置,真的不如直接回到全尺寸的配置。 ## 6. 結論 總結一下,如果你是個開發者,並且在工作中需要遠端操控 Linux 作業系統,主要工作是撰寫程式碼,那麼你應該優先選擇全尺寸的 104/108 鍵盤 -- 如果你只想買一把鍵盤,就買全尺寸的。 如果你有移動的需求,我自己會選擇的是 75% 的鍵盤。當然如果你願意帶 80% 的鍵盤去咖啡廳工作,那也是可以考慮的(我不想 XD) 以上是個人的觀點,僅供參考。 ~ END ~
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.