friends-of-mineral-town/blog/content/posts/004FujitsuPFUHHKBPro2.md

27 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

develop/blog/posts (#4) fix(tag): lowercase feat(theme): dividing horizontal line between posts on lists feat(post): k680t images and links feat(post): hhkb images and links fix(images): cropped aj11cmft low bred fix(posts): spell checked style(posts): whitespace no more 80char line width limit on blog post files bc my text editors know how to word-wrap feat(posts): added stock photos fix(posts): whitespace feat(posts): jojo vans, hori mini pad, arizona superstars, k680t update(schedule): blog post feat(posts): 85hi and ysl college feat(post): neverfull fix(footer): line break make the site copyright block slightly more visually consistent across views feat(pagination): responsive styles - removed linkless ellipses between page numbers and next/previous links - hide first/previous/next/last text labels on smaller views - hide non active page specific links on even smaller views fix(about): stylized email to allow for linebreaks instead of one continuous whitespaceless string, the email address is broken up so that the text will flow properly on smaller views fix(footer): layout alignment add half width column class to nav and removed inline styles feat(styles): shrank skeleton's typography reduced heading sizes to make them more compatible with smaller displays refactor(config.toml): whitespace feat(permalinks): use post title, not filename hides the "ordering" prefix refactor(category): "input hardware" -> "hardware" feat(drafts): marked incomplete posts as drafts marked via hugo/md post headers note(schedule): textfile noting blog post queue order just for reference fix(post): typo in file name refactor(posts): rename md files with post order prefix purely for internal/developmental organizational purposes (because hugo decides post order based on post dates) draft(posts): a lot of empty files or notes Co-authored-by: steven-y-e <steven@mineral.town> Reviewed-on: http://irie.clinic.homo.casa/steven-y-e/friends-of-mineral-town/pulls/4 Co-Authored-By: steven <steven-y-e@noreply.localhost> Co-Committed-By: steven <steven-y-e@noreply.localhost>
2021-09-29 15:33:16 -04:00
---
title: "Fujitsu PFU Happy Hacking Keyboard Professional 2"
date: 2021-09-15T11:13:44-04:00
categories: [hardware, topre]
tags: [keyboard, black]
draft: false
image: "/images/fujitsupfuhhkbpro2stock.jpg"
develop/blog/posts (#4) fix(tag): lowercase feat(theme): dividing horizontal line between posts on lists feat(post): k680t images and links feat(post): hhkb images and links fix(images): cropped aj11cmft low bred fix(posts): spell checked style(posts): whitespace no more 80char line width limit on blog post files bc my text editors know how to word-wrap feat(posts): added stock photos fix(posts): whitespace feat(posts): jojo vans, hori mini pad, arizona superstars, k680t update(schedule): blog post feat(posts): 85hi and ysl college feat(post): neverfull fix(footer): line break make the site copyright block slightly more visually consistent across views feat(pagination): responsive styles - removed linkless ellipses between page numbers and next/previous links - hide first/previous/next/last text labels on smaller views - hide non active page specific links on even smaller views fix(about): stylized email to allow for linebreaks instead of one continuous whitespaceless string, the email address is broken up so that the text will flow properly on smaller views fix(footer): layout alignment add half width column class to nav and removed inline styles feat(styles): shrank skeleton's typography reduced heading sizes to make them more compatible with smaller displays refactor(config.toml): whitespace feat(permalinks): use post title, not filename hides the "ordering" prefix refactor(category): "input hardware" -> "hardware" feat(drafts): marked incomplete posts as drafts marked via hugo/md post headers note(schedule): textfile noting blog post queue order just for reference fix(post): typo in file name refactor(posts): rename md files with post order prefix purely for internal/developmental organizational purposes (because hugo decides post order based on post dates) draft(posts): a lot of empty files or notes Co-authored-by: steven-y-e <steven@mineral.town> Reviewed-on: http://irie.clinic.homo.casa/steven-y-e/friends-of-mineral-town/pulls/4 Co-Authored-By: steven <steven-y-e@noreply.localhost> Co-Committed-By: steven <steven-y-e@noreply.localhost>
2021-09-29 15:33:16 -04:00
---
This is my current daily driver. A compact, 60% keyboard made with Topre-designed electro capacitive keyswitches. More inexperienced, misguided keyboard enthusiasts will tell you that Topre's proprietary switch mechanisms aren't worth paying for because they're "glorified rubber domes". What these people fail to recognize is that "rubber domes" aren't an inherently bad quality in a keyboard, assuming the mechanisms are built well enough. I've seen keyboard YouTubers boast about how they've "vastly improved" a friend's typing experience by building them a new keyboard using Cherry MX derivative linear switches, while tossing out their supposedly terrible Dell keyboards that happen to be made with Alps SKCMs and NMB domes with sliders that would have provided vastly superior typing experiences if they were just cleaned and refurbished, but I digress.
![Default key layout for HHKB](/images/hhkbdefaultlayout.png)
As much as I love the feeling of the sliders moving through this keyboard's plastic housing, I'm just not a fan of any of the layouts that can be enabled on this keyboard via the DIP switch block accessible from the back, under a removable cover. Thanks to someone over at the GeekHack forums who goes by "hasu," most Topre popular boards have been reverse-engineered, so I was able to set up a custom build of QMK relatively easily, after rewiring the keyswitch PCB to a new MCU (the ATMega32u4 on a [Teensy 2.0](https://www.pjrc.com/store/teensy.html)), and write my own custom keyboard firmware.
![HHKB rewired to a Teensy 2.0](/images/hhkbwiredtoteensy.jpg)
[QMK](https://qmk.fm), the project my custom firmware was derived from, offers some very useful key mapping functions like "quantum keys" that perform different functions depending on the context in which they're used. For example, the quintessential quantum key for a Mac user without a function row on their keyboard is the backtick/escape key: in most situations, it will function as an "Escape" key, but if you're holding down "Shift" or "GUI" ("Windows" or "Command"), it will function as the backtick character (or tilde in the case of "Shift"). In Mac OS, Command+backtick is a hotkey for switching between windows within an application, since Command+Tab only switches between Applications.
![My personal layout for HHKB](/images/hhkbmylayout.png)
The layout I use is based on a Mac ANSI layout. In my opinion, what makes a "Mac layout" distinct from a standard Windows layout is not simply the swapping of positions between the Alt/Option and GUI/Windows/Command keys, but additionally, the position of that modifier key underneath the X key: if its right edge only comes up to the centre, at a hypothetical line dividing the X key vertically, it's a Windows layout. If it goes beyond the halfway point however, it is more akin to traditional "Windows key-less" UNIX system keyboards, which were designed with the understanding that the Alt key would be accessed by the left thumb. Luckily, the Happy Hacking keyboard fulfills the UNIX tradition by positioning a 1.5 unit-wide modifier key nearly directly beneath the X key.
![My personal function layer layout for HHKB](/images/hhkbmylayoutlayer2.png)
I couldn't get used to the HHKB delete key above the enter/return key, I have the two keys replacing the traditional 2 unit-wide backspace key both mapped to "Backspace," and the usual backlash/pipe key between the backspace and enter keys. I did however, get accustomed to using a modifier key in the caps lock key's position. Not the "Control" key, but a "Function" key to access a secondary layer of keys. Most notably in my "Function" layer are the arrow and navigation keys on the left side, and backspace on the spacebar, which enables me to make minor typing corrections without having to move my hands off of the home row.