No layer lock yet, but I've designed a fairly good layout, for my purposes, which looks like this:
- IBM PC XT Model F.png (310.76 KiB) Viewed 10872 times
It took a while, but I realised the XT has plenty of room for modifier keys if you think outside the box a bit. Its bottom row has 8 keys including the (huh-yuge) spacebar, which is the same number as my
60% design. So I transplanted a bunch of ideas. First of all: if it's on row 1, it's a mod! Function keys are overrated anyways.
Power key at top right is pretty handy. HHKB style function layer key and arrow bindings are neat too. And several macros are in effect to achieve a close match to the Model F's own keys in the default layer. Num Lock is where I'd put the layer lock key, if I had figured out such things yet. So for now it's reserved.
Code now includes comments:
Code: Select all
# define that FN1 accesses layer 1
layerblock
FN1 1
# FN2 2
endblock
# Base layer remaps time
# need to map the FN key into the base layer (0)
remapblock
# Just for the PC/XT keyboard
ifset set1
layer 0
PAD_ASTERIX FN1 # The all important function key
LCTRL FN1 # And the second one: currently the same
PAD_PLUS PAD_ENTER # Puts an enter at the far right edge
LALT LGUI # Command!
CAPS_LOCK RGUI # And again
PAD_0 RALT # Option spills over onto the numpad
PAD_PERIOD RCTRL # Control does too
F9 LCTRL # Mirror image for left and function keys
F10 LALT # Completing the 6 mod set
SCROLL_LOCK SYSTEM_POWER # Closest I got to Eject, works nicely
PAD_1 END # Hijack the numpad for cursor controls
PAD_2 DOWN
PAD_3 PAGE_DOWN
PAD_4 LEFT
PAD_5 UNASSIGNED
PAD_6 RIGHT
PAD_7 HOME
PAD_8 UP
PAD_9 PAGE_UP
F1 MEDIA_VOLUME_DOWN # Hijack the f-keys for media controls
F2 MEDIA_VOLUME_UP
F3 MEDIA_MUTE
F4 MEDIA_PLAY_PAUSE
F5 F9 # Including the full set for Exposé
F6 F10
F7 F11
F8 F12
endblock
# Primary Function Layer: HHKB + ESDF Arrows
# the layer itself is just some remaps tagged with the layer number
remapblock
# Just for the PC/XT keyboard
ifset set1
layer 1
# HHKB Arrows
LEFT_BRACE UP
SEMICOLON LEFT
SLASH DOWN
QUOTE RIGHT
L PAGE_UP
PERIOD PAGE_DOWN
K HOME
COMMA END
H PAD_ASTERIX
J PAD_SLASH
N PAD_PLUS
M PAD_MINUS
# ESDF Arrows
E UP
S LEFT
D DOWN
F RIGHT
R PAGE_UP
V PAGE_DOWN
A HOME
G END
# Restore the Numpad
PAD_1 PAD_1
PAD_2 PAD_2
PAD_3 PAD_3
PAD_4 PAD_4
PAD_5 PAD_5
PAD_6 PAD_6
PAD_7 PAD_7
PAD_8 PAD_8
PAD_9 PAD_9
PAD_PLUS PAD_PLUS
PAD_PERIOD PAD_PERIOD
PAD_0 PAD_0
# Restore the Function Keys
F1 F1
F2 F2
F3 F3
F4 F4
F5 F5
F6 F6
F7 F7
F8 F8
F9 F9
F10 F10
# Media keys across the number row
1 F14 # Decrease Display Brightness
2 F15 # Increase Display Brightness
3 F10 # Exposé: All App Windows
4 F12 # Dashboard
5 F11 # Exposé: Show Desktop
6 F9 # Exposé: All Windows in All Apps
7 MEDIA_PREV_TRACK # iTunes / media playback controls
8 MEDIA_PLAY_PAUSE
9 MEDIA_NEXT_TRACK
0 MEDIA_MUTE # Volume controls
MINUS MEDIA_VOLUME_DOWN
EQUAL MEDIA_VOLUME_UP
BACKSPACE DELETE # Delete for Backspace
LCTRL CAPS_LOCK # Capslock lives, out of harm's way
ENTER PAD_ENTER # Enter for Return
ESC EUROPE_2 # This § symbol
BACK_QUOTE EUROPE_2 # In both places I might look for it
endblock
# Let the going get weird
# Match the PC/XT's unusual legends
# Just for the PC/XT keyboard
ifset set1
macroblock
# Shift 2 = "
macro 2 shift -ctrl -alt -gui
press QUOTE
endmacro
# Shift ' = @
macro QUOTE shift -ctrl -alt -gui
push_meta set_meta lshift
press 2
pop_meta
endmacro
# Shift Option + # = ±
# Corresponding with § remap, this time with shift
macro BACK_QUOTE shift alt -gui -ctrl
push_meta set_meta rshift
press EUROPE_2
pop_meta
endmacro
# ` = #
macro BACK_QUOTE -all
push_meta set_meta ralt
press 3
pop_meta
endmacro
# Command + Escape = Command + Section break (for app window cycling)
macro ESC gui -ctrl -alt
push_meta set_meta lgui
press EUROPE_2
pop_meta
endmacro
endblock
Here's a zip of my Soarer's Converter config file and my OmniGraffle file for the layout chart above for anyone looking for either as a template.
- MuXT.zip
- (130.03 KiB) Downloaded 238 times
So chuffed to be using this awesome old keyboard. Thanks again Soarer!