15.3.10

Why Don't We Enter But Return

很無聊當有趣的標題,不過管它的。XD


這篇一開始也是在回答別人問題,想到了就加點料備份上來這樣。


這個話題最近可能會越來越多人有,因為 iPhone 的關係。有用過 iPhone 的人應該會知道,iPhone 的鍵盤上沒有 Enter 鍵,只有一個 Return,但功能是一樣的。


如果你問的話,大部份人會給你的答案應該就是啊那個都一樣啦,只是蘋果搞剛所以換寫法。事實上不是如此,這個 Return 有它的存在原因。顯而易見地,這個寫法當然來自 Macintosh,在 Mac 上「本來應該是 Enter 鍵」的位置上面寫的了兩行,一行是 Enter,一行是 Return。


可是用過的人就會有下一個疑問 — 說是這麼說,可是用起來都沒差不是嗎?而且這個鍵上面也有寫 Enter,所以大部份由 Windows 轉過來的人都會覺得這顆鍵就是 Enter,只是多了個名字,用 Enter 稱呼這個鍵,覺得 Return/Enter 兩個沒有差別。但這樣是不對的!Return 和 Enter 有著根本上的不同。


看蘋果之前曾經有的 USB 長形鍵盤就會知道,對應 IBM PC Enter 的鍵上面只有寫 Return,而 Enter 鍵是數字鍵盤右下角的那個。也就是說,原本有寫 Return/Enter 的鍵只有 Return 功能,Enter 功能則放在右下角。


          


為什麼是這樣?這個稱呼要追溯到打字機的年代。打字機打到最右邊的時候要換行,而且文字要靠左對齊,所以必須設計一個機構讓乘載紙張的機構往左回到最邊邊,然後往下開始新的一行。往左的部份稱 carriage return(CR,回車),往下則叫做 line feed(LF,新行)。看到這邊熟悉程式語言的人可能就會發現了,沒錯,這跟各作業系統不同換行法也有關聯。


總之,到了電子計算機時代,各種作業系統為了套用這種舊有習慣,就有很多不同搞法。其中蘋果在 Mac OS X 之前是把換行定義為 CR,所以在蘋果電腦上用來「換行」的鍵就叫 Return。(Mac OS X 由於作業系統改以 Un*x 為基礎,換行也就跟改為 LF,但名稱習慣了所以就沿用。)


至於 Enter 就是電腦時代才有的東西,主要來自於命令列時代,打進一行指令後按 Enter 代表「決定輸入」(有些舊電腦上會有個 Execute 鍵,意思是一樣的)。


所以到底不一樣在哪裡?在 Mac 上就可以試試,找一個可以輸入多行的對話框(例如 iTunes 編輯歌詞的那個),當游標位於文字框裡面時,Return 是換行,但若按 Enter 時就是「完成輸入」,和按下面那個「好」的結果一模一樣。如果使用新的短版鍵盤,或者筆記型電腦,可以按 Fn + Return 來產生 Enter,這就是為什麼 Return 上面有寫小小的 Enter,那是代表「你可以把這個鍵和 Fn 組合按出 Enter」,而不是「這個鍵叫 Enter」。


那為何大部份情況會一樣呢?這是因為蘋果為了簡化使用邏輯,當輸入只有單行時,「換行」被定義為等同於「確定輸入」,所以在大部份的時候 Return 和 Enter 效果一樣。


所以以後就知道了,當談論 Mac OS 時,我們最好使用 Return 來描述一些特定動作,而不要用 Enter。類似的例子當然不只,其他還有 Alt 與 Option 的區別,以及 IBM PC 的 Backspace/Delete 與蘋果的 Delete/Forward Delete 等等,都是一樣的道理,要好好分清楚才是。



沒有留言:

張貼留言