I use a 60% keyboard that doesn’t even have dedicated arrow keys. My caps-lock is configured as the Fn key and, when it’s held down, the JKLI letters are the arrow keys. This (and other macros) are actually really convenient when you get used to them. Unfortunately, it’s hard for me to type on “normal” keyboards because when I end up tiYping thinks like that. My keyboard is a Mistel MD600 split.
My favorite unusual accessory is a little 9 key mechanical auxiliary keyboard. I programmed it to be my debug keyboard with all of key combos for my IDEs debugger - run, stop, pause, next, step over/into, set breakpoints, etc. it saves a lot of time (or seems like it does).