What is SpaceFN and why you should give it a try
The SpaceFN concept - setting up your space key as a layer switch when held - is probably one of the most useful tweaks in the keyboard hobby. Let me explain how it works. My SpaceFN article on kbd.news made some rounds recently - quite surprisingly given the age of this concept. This piece you're reading is a condensed version of the full post. If you're left with unanswered questions, you'll most likely find the info you're looking for in the original write-up. On my imaginary top list of the most useful keyboard features, tweaks and hacks, SpaceFN would deserve a podium finish for sure. But what makes it so special? In short: SpaceFN is easy to implement, easy to learn, costs nothing, can be used with any keyboard, and can improve your productivity instantly. I will list its benefits below, but can state right at this point that the SpaceFN concept, setting up your space key as a layer switch when held, is clearly one of the most useful tweaks in the keyboard hobby....
Apr 30, 2024
For the lower layer, keys for "yuiop" have become "&'()0", should be "^&*()" keys for "jkl;:" have become "=~`{}", should be "_+{}|"
For the raise layer keys for "jkl;:" have become "-^@[]", should be "-=[]\"
I have refreshed the firmware with default, basic and other keymaps, same issue still occur. I have check my solder work they look fine too. Have anyone encountered similar issue or am I missing something?
If all your keys are working, just displaying the wrong thing then doubtful it's the hardware side. Has to be configuration. What OS are you using?
Testing on another machine is a good idea. Sorry, I'm not too involved with OSX though, so hopefully someone else can assist there. If the backend of the os works similar to most linux distributions these days though, it'd be useful to see the output of these commands:
locale setxkbmap -print -verbose 10
LANG="en_AU.UTF-8" LC_COLLATE="en_AU.UTF-8" LC_CTYPE="en_AU.UTF-8" LC_MESSAGES="en_AU.UTF-8" LC_MONETARY="en_AU.UTF-8" LC_NUMERIC="en_AU.UTF-8" LC_TIME="en_AU.UTF-8" LC_ALL=
Which means the locale is actually AU English instead of US. I got to investigate this. I would think it will be the same as the US English (and it displays in the system preferences as US).
I don't know what the best option for you is from here. If it were me I'd just go in and swap the keys in the firmware. But perhaps contacting support here at massdrop, ask at the qmk issue tracker (https://github.com/qmk/qmk_firmware/issues) or the OLKB reddit thread (https://www.reddit.com/r/olkb/) might help you out without having to modify things directly.