Command Classic: Difference between revisions

From IoWiki
Jump to navigation Jump to search
(→‎Builds: Added Build 4 to table)
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
Command Classic is a family of specifications for my self-built keyboards, mostly varying by national layout and the presence or absence of a numeric keypad. They designed primarily with Mac-like GUIs and Unix-like command line environments in mind, and most of their characteristics can be traced to keyboards from Apple and Sun.
[[File:Command_Classic_1_34View.jpeg|thumb|320px|The first Command Classic keyboard.]]
 
Command Classic is a family of computer keyboard designs, varying mostly by national layout and the presence or absence of a numeric keypad. They are intended for Mac-like GUIs and Unix-like command line environments, and they draw most of their features from earlier keyboards by the likes of Apple and Sun.


== Name ==
== Name ==


"Command" refers to the primary modifier key in the Macintosh environment and its spiritual relatives (NeXT, Be). Its prominent size and placement next to the space bar, like on Apple and NeXT keyboards, are one of these keyboards' most important features.
"Command" refers to the primary modifier key in the Macintosh environment and its progeny (NeXT, Be). Its prominent size and placement next to the space bar, like on Apple and NeXT keyboards, are one of these keyboards' most important features.
 
"Classic" is a reference to the original Mac OS, early Macintosh principles in general, and the way Apple affixed the word in some of its own product names (cf. Macintosh Classic).
 
== Keymap Design ==
 
=== Cursor Keys ===


"Classic" is a reference to the original Mac OS, early Macintosh design principles in general, and an imitation of the way Apple affixed the word in some of its own product names (cf. Macintosh Classic).
Cursor key placement on Command Classic is entirely an Apple convention. I am unaware of any off-the-shelf keyboards other than those made by Apple or for Apple platforms that use this placement.


== Prior Art ==
==== History ====


=== Apple ===
Apple first featured a full four-direction set of cursor navigation keys on the Apple III (1980), which squeezed them into the bottom right corner of the main keybank in a dogleg configuration, with the up arrow above the down arrow, and a pair of horizontal navigation keys to the side.


Most of the direct inspiration for Command Classic originates with conventions that evolved through a series of Apple keyboards from the early 1980s through the early 1990s.
[[Image:Apple_III_Cursor_Keys.png]]


==== Cursor Keys ====
Apple's next computer, the IIe, brought many of the Apple III's features to the Apple II line, including an improved keyboard with four cursor navigation keys. While continuing to place the arrows in the bottom right of the main bank, the Apple IIe keyboard moved the up arrow to the bottom, making the cursor keys into a single row.


The first Apple computer with a set of horizontal and vertical cursor navigation keys was the business-oriented Apple III (1980), and all subsequent Apple computer keyboards featured them except for the infamously mouse-centric Lisa and early Macintosh (before the Plus).
[[Image:Apple_IIe_Cursor_Keys.png]]


Apple used two variations of cursor key placement through the 1980s. The first, used by the Apple III and the Macintosh Plus [https://deskthority.net/wiki/Apple_M0110A M0110A] keyboard, had up and down arrows stacked vertically in the bottom right corner of the main bank, with horizontal left and right arrows next to them on the bottom row (some third-party ADB keyboards use this layout as well).  
Apple continued to use this configuration on everything featuring cursor keys, outside of the Extended Keyboard line and a one-off reappearance of the dogleg layout on the Macintosh Plus keyboard, until the IBM-derived "Extended" style completely took over in the mid-1990s. This is the placement used for Command Classic keyboards.


The second variation appeared for the first time on the Apple IIe, remaining on all subsequent Apple II models and making its way to the Macintosh with the introduction of Apple Desktop Bus. It places the all cursor keys on the bottom row, in left/right/down/up order. It appears on the [https://deskthority.net/wiki/Apple_Desktop_Bus_Keyboard Apple Desktop Bus Keyboard] (1986), [https://deskthority.net/wiki/Apple_Standard_Keyboard M0116 "Apple Keyboard"] (1987), and the [https://deskthority.net/wiki/Apple_Keyboard_II Apple Keyboard II] (1990). Command Classic uses this cursor key placement. It is more familiar and aesthetically satisfying to me, and it carries an added advantage of compatibility with standard-size Shift keys.
==== Why This Placement? ====


==== Modifiers ====
* Familiarity: This is the placement I know best, that works with my muscle memory, and so it was what I wanted when building a keyboard for myself.
* Aesthetics: My personal subjective feeling is that this placement looks good, and that shoehorning cursor navigation keys into the upper rows of the main bank looks messy. This includes today's compact mainstream keyboards that place the up arrow to the left of a 1U right Shift in order to implement inverse-T cursor navigation clusters in "60-65%."
* Compatibility: Single-row placement on the bottom does not interfere with the size or position of the right Shift key, keeping Command Classic slightly closer to common keymaps and making keycap sourcing that much easier. Sourcing parts for these keymaps is challenging enough already that I will take a win where I can.


The type and position of modifier keys is the major difference between Apple keyboards and others. Command Classic modifier layouts generally follow Apple conventions.
==== Why not vi Placement? ====


===== Command =====
vi is my command line editor of choice, and those who know me somewhat well may be curious as to why I didn't go with its traditional hjkl left/down/up/right cursor navigation sequence. The honest truth is that I never developed a habit for it. I first got used to vi on IRIX, which supports cursor navigation with the arrow keys. vim also supports this, and I have only had brief encounters with "real vi" implementations that don't, so hjkl navigation never became muscle memory for me.
 
Of course, anybody with a Command Classic who wants to navigate that way in vi(m) can just use hjkl as usual, and even outfit hjkl keycaps with alternate arrow legends, and program their firmware to support them as actual cursor navigation keys on the Fn layer if they choose. I may even start doing that just to be nice, because it doesn't interfere with anything I use. The dedicated arrow keys used in both command line and graphical contexts in the bottom corner, though, adhere Apple conventions because I prefer Apple-style graphical environments.
 
=== Modifiers ===
 
The type and position of modifier keys is the major difference between Apple keyboards and others. Command Classic modifier layouts generally follow Apple conventions, although Sun keyboards are also an influence.
 
==== Command ====


Apple keys were another Apple III innovation brought to the Apple II beginning with the IIe. In Apple III and Apple II environments, "Open Apple" and "Closed Apple" were small keys used for only a handful of functions, but they established a precedent of platform-specific modifier keys beyond those included in mainstream teletype and terminal layouts. The Lisa enlarged the Apple key and made it the centerpiece of its graphical menu system's keybindings, which carried over to the Macintosh as the [https://www.folklore.org/StoryView.py?project=Macintosh&story=Swedish_Campground.txt Command key].
Apple keys were another Apple III innovation brought to the Apple II beginning with the IIe. In Apple III and Apple II environments, "Open Apple" and "Closed Apple" were small keys used for only a handful of functions, but they established a precedent of platform-specific modifier keys beyond those included in mainstream teletype and terminal layouts. The Lisa enlarged the Apple key and made it the centerpiece of its graphical menu system's keybindings, which carried over to the Macintosh as the [https://www.folklore.org/StoryView.py?project=Macintosh&story=Swedish_Campground.txt Command key].
Line 31: Line 49:
Given its significance, the Command key should be one of the easiest keys on the keyboard to hit. On Lisa and Macintosh keyboards, it is usually 1.5U or 1.75U wide. Command Classic keyboards use a 1.5U Command key placed immediately to the left of the space bar, and sometimes feature a right Command key, depending on the variation.
Given its significance, the Command key should be one of the easiest keys on the keyboard to hit. On Lisa and Macintosh keyboards, it is usually 1.5U or 1.75U wide. Command Classic keyboards use a 1.5U Command key placed immediately to the left of the space bar, and sometimes feature a right Command key, depending on the variation.


===== Option =====
==== Option ====


The Option key is another Apple innovation, often equated with the IBM PC Alt key. Unlike the Alt key, though, Option is primarily for chording with Command to access additional GUI keybindings, or combining with mouse actions to modify the result. Apple is less consistent about Option key sizes, but I prefer them to be larger. Command Classic usually uses a 1.5U Option key.
The Option key is another Apple innovation, often equated with the IBM PC Alt key. Unlike the Alt key, though, Option is primarily for chording with Command to access additional GUI keybindings, or combining with mouse actions to modify the result. Apple is less consistent about Option key sizes, but I prefer them to be larger. Command Classic usually uses a 1.5U Option key.


===== Control =====
==== Control ====


==== Numeric Keypad ====
==== Numeric Keypad ====


Number pads first appeared alongside the main key bank on Apple computers in the early 1980s, when they tried in vain to target businesses with the Apple III in 1981 and the Lisa in 1983. The specific arrangement of keys varied, but it established a feature set for Apple's "professional" computer keyboards that would become standard equipment beginning with the Macintosh Plus and the Apple IIGS in 1986.
Numeric keypads were exclusive to Apple's unsuccessful business platforms (Apple III, Lisa) until they appeared as options on the Macintosh. All of Apple's ADB keyboards have one, as do the last Apple IIes.


== Intended Use ==
Full-size Command Classic keyboards use a bank layout identical to these, with a only main bank and a numeric keypad to the right, separated by a small gap. Unlike IBM, Sun, and most other keyboards, clusters of navigation keys and dedicated function keys are not used.


Command Classic is designed with Mac-like desktop environments in mind, like
== National Variations ==


* Mac OS
[[Image:Tsundoku_jis.png|500px|thumb|right|JIS Reference Layout (with both language keys)]]
* BeOS and Haiku
* NEXTSTEP, OPENSTEP, Mac OS X (macOS)
* [[Callisto Desktop]]


== Layout Variations ==
[[Image:Tsundoku_ansi.png|500px|thumb|right|ANSI Reference Layout]]


[[Image:Tsundoku_jis.png|500px|thumb|right|JIS Layout (with both IME keys)]]
The core concept does not require a specific national layout, but it was originally imagined as a JIS keyboard. Each national variation can be considered to have a "reference layout," which is what I would build in an ideal scenario without regard to parts availability. Actual Command Classic keyboards aim for these, but make adjustments to use keycaps that are actually available.
 
[[Image:Tsundoku_ansi.png|500px|thumb|right|ANSI Layout]]
 
The design concept is layout-agnostic, but was originally envisioned as a JIS keyboard.


=== JIS ===
=== JIS ===
Line 63: Line 74:
* 3.5U spacebar
* 3.5U spacebar
** Not known to be available anywhere currently
** Not known to be available anywhere currently
** Existing builds make compromises with IME keys to use available spacebars
** Existing builds make various compromises to accommodate available keycaps
*** Model 1 omits the 英数 key to accomodate a 4.5U spacebar
*** [[Command Classic/Build 1|Build 1]] omits the 英数 key to accomodate a 4.5U spacebar
*** [[Command Classic/Build 2|Build 2]] uses 1.25U language keys to the right of the space bar, omitting right Command
* Two 1U keys for input method mode control
* Two 1U keys for input method mode control
* Nearly identical the Macway TP-110JIS
* Nearly identical the Macway TP-110JIS
Line 72: Line 84:
* 5.5U spacebar
* 5.5U spacebar
** Uncommon but available
** Uncommon but available
* Sun "UNIX Keyboard" layout
** Not a particularly strong preference. Westerners seem to like long space bars, but I think 4.5U is more than enough, and I am not going out of my way to build with a 5.5U space bar.  
 
** [[Command Classic/Build 3|Build 3]] adds a 1U Option key to make a 4.5U space bar fit
== Prior Art ==
* Similar to Sun Type 5/6/7 "UNIX Keyboards"
 
The keyboard design mostly derives from Apple layouts of the 1980s through the mid-1990s, before the AppleDesign keyboard made Apple's variant of the IBM AT Enhanced layout a de facto standard on the Mac platform.
 
* [https://deskthority.net/wiki/Apple_Desktop_Bus_Keyboard Apple Desktop Bus Keyboard] and [https://deskthority.net/wiki/Apple_Standard_Keyboard Apple Keyboard (M0116)]
** Main bank with dedicated number pad
** Arrow keys on bottom row in left, right, down, up sequence
*** Also used by Apple IIe and Apple IIc keyboards
** Escape on number row
** Control left of A
** Large Command key
* Apple Keyboard II JIS
** Adaptation of prior ADB Keyboard design to JIS layout
* Macway TP-110JIS
** More balanced main bank than Apple's keyboard
*** Spacebar centered between homing keys
** Command Classic JIS uses this keymap minus function key row and power key
* NeXT Keyboard and Sun Type 5, 6, 7
** Examples of main bank concept outside the Macintosh platform
 
== Counterexamples ==
 
At risk of defining something by what it is not, it is worth contrasting the design from common archetypes.
 
=== IBM Enhanced Keyboard (Model M) ===
 
The Tsundoku Keyboard is in many ways an Apple user's rebellion against a mainstream dominated by descendants of this keyboard. Our objections:
 
* Caps Lock occupying a prominent position even though it is rarely used
** Command Classic currently has no Caps Lock
** Pressing both Shift keys to activate Caps Lock (NeXT style) is under consideration, if QMK can support it
* Control in bottom left corner even though it is frequently used
** Command Classic has Control to the left of A, like many other layouts
* Escape is far away from the main bank
** Command Classic has Escape on number row, like Sun keyboards and traditional Apple keyboards
* Empty space on bottom row (between Control and Alt)
** 104 keyboards from the Windows 95 era onward fill this space with additional keys, but they are small to fit into this space
** Command Classic has a Mac-style layout designed for easy activation of GUI keybindings
* Num Lock
** The number pad doubles up as a navigation cluster
** Vestige of earlier IBM PC keyboard layouts without a dedicated nav cluster
** Command Classic takes the Apple approach (no modes!) with dedicated number pad
 
=== Happy Hacking Keyboard ===
 
* Command key positions are identical
* Larger Option key instead of leaving blank space on bottom row
* Arrow keys
* Fn on bottom left instead of taking a piece off of right Shift
** HHKB Fn layer navigation and function keys found to be difficult to use
** A JIS right Shift with HHKB-style Fn placement would be reduced to 0.75U


== Builds ==
== Builds ==
Line 137: Line 99:
! Keymap
! Keymap
! Opt Size
! Opt Size
! IME Key
! Language Keys
! Connection
! Connection
! Plate
! Plate
Line 150: Line 112:
| JIS
| JIS
| 1.5U
| 1.5U
| 1U Kana
| 1U Hankaku/Zenkaku
| USB C
| USB C
| Stainless
| Stainless
| BOX White
| Kailh BOX White
| PBT
| PBT
| Cherry
| Cherry
Line 163: Line 125:
| JIS
| JIS
| 1.25U
| 1.25U
| 1.25U Eisuu/Kana
| 1.25U Eisuu+Kana
| USB A (cable)
| USB A (cable)
| Aluminum
| Aluminum
| BOX Jade
| Kailh BOX Jade
| PBT
| PBT
| Cherry
| Cherry
Line 179: Line 141:
| Bluetooth
| Bluetooth
| Stainless
| Stainless
| BOX Silent Brown
| Kailh BOX Silent Brown
| PBT
| PBT
| XDA
| XDA
| Poker
| Poker
|-
! [[Command Classic/Build 4|''4J'']]
| ''2023.??''
| ''Compact''
| ''JIS''
| ''1.5U''
| ''1U Hankaku/Zenkaku<br>Fn layer on split space bar''
| ''USB C''
| ''Stainless''
| ''Kailh BOX White''
| ''PBT''
| ''Cherry''
| ''TOFU60 2.0<br>(Top Mount)''
|-
! [[Command Classic/Build 4|''4K'']]
| ''2023.??''
| ''Compact''
| ''ANSI(K)''
| ''1.5U''
| ''1.25U Hanja+Hangul''
| ''USB C''
| ''Stainless''
| ''dangkeebs Cookies n' Cream''
| ''PBT''
| ''Cherry''
| ''TOFU60 2.0<br>(Top Mount)''
|}
|}


Line 207: Line 195:
* Not minimalist
* Not minimalist
** Dedicated arrow keys
** Dedicated arrow keys
** Coincidentally smaller than 101/104 keyboards, but compactness itself is not a goal
** Incidentally smaller than 101/104 keyboards, but compactness itself is not a goal
* No IBM-style nav cluster
* No IBM-style navigation cluster
** Arrow keys can go on the bottom row as on many Apple keyboards
** Arrow keys can go on the bottom row as on many Apple keyboards
** Home/End/PageUp/PageDown on Fn layer of arrow keys
** Home/End/PageUp/PageDown on Fn layer of arrow keys
* Has a tenkey
* Has a numeric keypad
** No Num Lock (no modes!). Always numbers
** No Num Lock (no modes!). Always numbers



Latest revision as of 05:06, 21 June 2023

The first Command Classic keyboard.

Command Classic is a family of computer keyboard designs, varying mostly by national layout and the presence or absence of a numeric keypad. They are intended for Mac-like GUIs and Unix-like command line environments, and they draw most of their features from earlier keyboards by the likes of Apple and Sun.

Name

"Command" refers to the primary modifier key in the Macintosh environment and its progeny (NeXT, Be). Its prominent size and placement next to the space bar, like on Apple and NeXT keyboards, are one of these keyboards' most important features.

"Classic" is a reference to the original Mac OS, early Macintosh principles in general, and the way Apple affixed the word in some of its own product names (cf. Macintosh Classic).

Keymap Design

Cursor Keys

Cursor key placement on Command Classic is entirely an Apple convention. I am unaware of any off-the-shelf keyboards other than those made by Apple or for Apple platforms that use this placement.

History

Apple first featured a full four-direction set of cursor navigation keys on the Apple III (1980), which squeezed them into the bottom right corner of the main keybank in a dogleg configuration, with the up arrow above the down arrow, and a pair of horizontal navigation keys to the side.

Apple's next computer, the IIe, brought many of the Apple III's features to the Apple II line, including an improved keyboard with four cursor navigation keys. While continuing to place the arrows in the bottom right of the main bank, the Apple IIe keyboard moved the up arrow to the bottom, making the cursor keys into a single row.

Apple continued to use this configuration on everything featuring cursor keys, outside of the Extended Keyboard line and a one-off reappearance of the dogleg layout on the Macintosh Plus keyboard, until the IBM-derived "Extended" style completely took over in the mid-1990s. This is the placement used for Command Classic keyboards.

Why This Placement?

  • Familiarity: This is the placement I know best, that works with my muscle memory, and so it was what I wanted when building a keyboard for myself.
  • Aesthetics: My personal subjective feeling is that this placement looks good, and that shoehorning cursor navigation keys into the upper rows of the main bank looks messy. This includes today's compact mainstream keyboards that place the up arrow to the left of a 1U right Shift in order to implement inverse-T cursor navigation clusters in "60-65%."
  • Compatibility: Single-row placement on the bottom does not interfere with the size or position of the right Shift key, keeping Command Classic slightly closer to common keymaps and making keycap sourcing that much easier. Sourcing parts for these keymaps is challenging enough already that I will take a win where I can.

Why not vi Placement?

vi is my command line editor of choice, and those who know me somewhat well may be curious as to why I didn't go with its traditional hjkl left/down/up/right cursor navigation sequence. The honest truth is that I never developed a habit for it. I first got used to vi on IRIX, which supports cursor navigation with the arrow keys. vim also supports this, and I have only had brief encounters with "real vi" implementations that don't, so hjkl navigation never became muscle memory for me.

Of course, anybody with a Command Classic who wants to navigate that way in vi(m) can just use hjkl as usual, and even outfit hjkl keycaps with alternate arrow legends, and program their firmware to support them as actual cursor navigation keys on the Fn layer if they choose. I may even start doing that just to be nice, because it doesn't interfere with anything I use. The dedicated arrow keys used in both command line and graphical contexts in the bottom corner, though, adhere Apple conventions because I prefer Apple-style graphical environments.

Modifiers

The type and position of modifier keys is the major difference between Apple keyboards and others. Command Classic modifier layouts generally follow Apple conventions, although Sun keyboards are also an influence.

Command

Apple keys were another Apple III innovation brought to the Apple II beginning with the IIe. In Apple III and Apple II environments, "Open Apple" and "Closed Apple" were small keys used for only a handful of functions, but they established a precedent of platform-specific modifier keys beyond those included in mainstream teletype and terminal layouts. The Lisa enlarged the Apple key and made it the centerpiece of its graphical menu system's keybindings, which carried over to the Macintosh as the Command key.

Given its significance, the Command key should be one of the easiest keys on the keyboard to hit. On Lisa and Macintosh keyboards, it is usually 1.5U or 1.75U wide. Command Classic keyboards use a 1.5U Command key placed immediately to the left of the space bar, and sometimes feature a right Command key, depending on the variation.

Option

The Option key is another Apple innovation, often equated with the IBM PC Alt key. Unlike the Alt key, though, Option is primarily for chording with Command to access additional GUI keybindings, or combining with mouse actions to modify the result. Apple is less consistent about Option key sizes, but I prefer them to be larger. Command Classic usually uses a 1.5U Option key.

Control

Numeric Keypad

Numeric keypads were exclusive to Apple's unsuccessful business platforms (Apple III, Lisa) until they appeared as options on the Macintosh. All of Apple's ADB keyboards have one, as do the last Apple IIes.

Full-size Command Classic keyboards use a bank layout identical to these, with a only main bank and a numeric keypad to the right, separated by a small gap. Unlike IBM, Sun, and most other keyboards, clusters of navigation keys and dedicated function keys are not used.

National Variations

JIS Reference Layout (with both language keys)
ANSI Reference Layout

The core concept does not require a specific national layout, but it was originally imagined as a JIS keyboard. Each national variation can be considered to have a "reference layout," which is what I would build in an ideal scenario without regard to parts availability. Actual Command Classic keyboards aim for these, but make adjustments to use keycaps that are actually available.

JIS

  • View on Keyboard Layout Editor
  • 3.5U spacebar
    • Not known to be available anywhere currently
    • Existing builds make various compromises to accommodate available keycaps
      • Build 1 omits the 英数 key to accomodate a 4.5U spacebar
      • Build 2 uses 1.25U language keys to the right of the space bar, omitting right Command
  • Two 1U keys for input method mode control
  • Nearly identical the Macway TP-110JIS

ANSI

  • 5.5U spacebar
    • Uncommon but available
    • Not a particularly strong preference. Westerners seem to like long space bars, but I think 4.5U is more than enough, and I am not going out of my way to build with a 5.5U space bar.
    • Build 3 adds a 1U Option key to make a 4.5U space bar fit
  • Similar to Sun Type 5/6/7 "UNIX Keyboards"

Builds

All Command Classic keyboards in existence to date are handmade one-off prototypes. Designing or commissioning standardized parts for on-demand reproduction is a future goal, but in the meantime, I have been throwing some together so that I may have something to use until such time, and in order to test combinations of parts and materials.

# Date Form Factor Keymap Opt Size Language Keys Connection Plate Switch Key Material Key Profile Case
1 2020.07-08 Full-Size JIS 1.5U 1U Hankaku/Zenkaku USB C Stainless Kailh BOX White PBT Cherry Acrylic Sandwich
2 2022.01 Compact JIS 1.25U 1.25U Eisuu+Kana USB A (cable) Aluminum Kailh BOX Jade PBT Cherry Poker
3 2022.07 Compact ANSI 1.5U - Bluetooth Stainless Kailh BOX Silent Brown PBT XDA Poker
4J 2023.?? Compact JIS 1.5U 1U Hankaku/Zenkaku
Fn layer on split space bar
USB C Stainless Kailh BOX White PBT Cherry TOFU60 2.0
(Top Mount)
4K 2023.?? Compact ANSI(K) 1.5U 1.25U Hanja+Hangul USB C Stainless dangkeebs Cookies n' Cream PBT Cherry TOFU60 2.0
(Top Mount)

Compromises

  • (JIS only) No 英数 key left of spacebar
    • 3.5U spacebars unavailable. Would need to be custom made
    • Use slightly more common 4.5U spacebar
  • IBM style number pad operator keys
    • Mac-style operators would require custom keycaps
    • IBM style operator keys are not particularly objectionable


National Variants

Design Goals

    • Large Command and Option keys for people who use them often
  • Not minimalist
    • Dedicated arrow keys
    • Incidentally smaller than 101/104 keyboards, but compactness itself is not a goal
  • No IBM-style navigation cluster
    • Arrow keys can go on the bottom row as on many Apple keyboards
    • Home/End/PageUp/PageDown on Fn layer of arrow keys
  • Has a numeric keypad
    • No Num Lock (no modes!). Always numbers

Problems with existing PCBs

Reasons why the Tsundoku Keyboard must be designed from scratch.

  • No JIS Right Shift support
  • Layouts all referenced from AT101/Windows 104
    • 75%, 60%, etc... all expressed as reductions of AT101
    • No consideration for different combinations of elements. Tenkeyless? 75% 60%? What about a tenkey but no IBM nav cluster?