3 steps to coder nirVIna

Step 1: Grab a good keyboard (Filco Majestouch 2, US layout, Cherry Browns for our tests)
Step 2: Install AutoHotKeys from http://www.autohotkey.com
Step 3: Edit your Autohotkey.ahk file in "My Documents" and add these:

; CapsLock navigation
Suspend On

i::Up
j::Left
k::Down
l::Right
u::Home
o::End
p::PgUp
`;::PgDn
a::Control 

CapsLock::
 Suspend Off
 SetCapsLockState On
Return
CapsLock Up::
 Suspend On
 SetCapsLockState Off
Return


You can now enjoy your capslock key switching between  qwerty and arrows on ijkl. Note that the indicator reflects the state of arrows vs keys, and you can use the original capslock with shift caps or ctrl caps