Setting up the Ducky One 2 SF

Daniel
3 min readAug 9, 2021

--

The keyboard is mostly great. As much as I don’t like that it’s a bit different from a normal layout, I still overall prefer it to a TKL board.

The factors that tip the balance are (1) it’s very lightweight, (2) easy to carry with one hand, (3) sit’s almost perfectly centered on your lap or desk, (4) not as far to go to get to the arrow keys.

However, a user of this keyboard has one main problem to solve: where to put the escape key.

By default the keyboard comes with escape key where the backtick should be. For me this doesn’t work. Backticks have become a very useful key for a tech worker, e.g. for writing code blocks in slack or jira or markdown. And as a linux user, tilde is something I type not infrequently, so I really want these back in their normal locations, i.e. not hidden under a function layer. So, I need to swap backtick and escape.

However, I use escape quite frequently too. Typing fn+backtick to send escapeis a bit awkward, particularly when doing so one-handed (which is only possible if you set caps lock to control). And two handed, well it’s really a waste to move the right hand off the home row just to press escape.

The options I came up with are the following:

  • ctrl+A -> escape: this is essentially caps_lock + A, which is pretty easy to get to
  • del -> escape : on mac we already have forward delete under fn+backspace so we won’t miss del

Implementing this is not as straightforward as one might hope. Read on for the details.

Use caps lock as contol

This you do by holding fn + alt + k for 3 seconds then pressing caps_lock once.

Swap Fn and right Ctrl

Doing so lets you keep the modifiers more close to the normal configuration (i.e. without a gap between cmd and option). (and of course you need to remap ctrl to option, which I recommend doing in karabiner…)

Use karabiner for modifier keys

When you use a windows keyboard on mac you need to remap the modifiers. I think it’s best to do this in karabiner because then you know that the modifiers are unchanged when trying to deal with the ducky macro system.

Use karabiner to flip escape and backtick

Escape has taken over the backtick position on this keyboard and I don’t like that choice.

I had some trouble trying to swap them using ducky macros, and I think the less ducky programming you have to do, the better.

Use del as escape, fn+del as caps_lock

I still need caps lock sometimes. So I stick it under fn+del . It’s not easy to program a macro for caps lock directly, so the easiest solution is to program a macro to send print_screen when fn+del is pressed, then use karabiner to map print_screen to caps_lock .

Similarly, I create a macro to send pause when del is pressed, and I use karabiner to map pause to escape . You can’t use a macro to map del directly to escape because karabiner is already mapping escape to backtick!

I’m not sure how useful del as escape will be just yet, but del is not that useful of a key, particularly when you can get to it with fn + backspace , so I’m trying it out.

I also set fn+A to send pause (which is mapped to escape ) to have another easy-to-type option for escape . Again, not sure how I’ll like this just yet.

--

--