I wanted to chime in on my experience. I posted on OCN about my Xarmor troubles. Today I finally sent the damn thing back. I have amazon prime, so I'll be going one day on a rubber dome until my filco gets in tomorrow.
I could have loved it and I was really gaining an appreciation for the keyboard. But when I was pulling the keycaps, I noticed that there were white stress marks along the stem, where the plastic is really thin. I had pulled five keys that had visible cracks along the stem. (I got some pictures, but couldn't focus it with my P&S; I'll try to see if I got one that's usable)
I had pulled these a few times to take pictures, but I'm not a gorilla. Even if I was, I would think that at least the caps could withstand being pulled more than a few times.
I could have just requested a replacement set of keycaps, but I didn't know why I should bother doing this if the same thing was going to happen again. It just made the overall quality of the keyboard feel cheap. Even if Filco's keycaps coming in aren't that great, at least I could feel confident about replacing them without feeling that the keyboard itself is junk.
The reason I was removing the keycaps yesterday was because I had picked a
TG3 to try out blacks and for the dye-sub keycaps. When the filco comes in, I'll probably replace the alpha keys with the sub-dyes as they look pretty nice in normal light.
What made the whole thing so frustrating was dealing with ergo-geek. I think it's ripster or the wiki that says that your first board should definitely be with a seller that has a good return policy. I wish I had bought the blue switch version instead of the brown if only because Amazon was handling the blue transaction and would have made the return so much easier.
The 15% restocking fee on a $130 keyboard is a lot to swallow and makes you just want to like the keyboard because you don't want to lose 30 bucks sending it back. With Amazon at least, you don't have to document every justification for returning the board. At least I hope the crappy keycaps makes this a 'defective' return and not an optional one. /rant