I have a rough shortcut routine that I use the numpad arrows to set dimension line offset at standard 3/8" * drawing scale. Uses keyboard accelerators in menu file. I haven't had time to work out right way to due with new CUI. You could modify to check if objects are selected, then issue move command.
//
// menu file
//
***MENUGROUP=XYZ_ACCEL
***ACCELERATORS
["NUMPAD5"]^P(XYZ_keydist "get" nil)
["NUMPAD6"]^P(XYZ_keydist "0" nil)
["NUMPAD9"]^P(XYZ_keydist "45" nil)
["NUMPAD8"]^P(XYZ_keydist "90" nil)
["NUMPAD7"]^P(XYZ_keydist "135" nil)
["NUMPAD4"]^P(XYZ_keydist "180" nil)
["NUMPAD1"]^P(XYZ_keydist "-135" nil)
["NUMPAD2"]^P(XYZ_keydist "-90" nil)
["NUMPAD3"]^P(XYZ_keydist "-45" nil)
[CONTROL+"NUMPAD5"]^P(XYZ_keydist "get" 2.0)
[CONTROL+"NUMPAD6"]^P(XYZ_keydist "0" 2.0)
[CONTROL+"NUMPAD9"]^P(XYZ_keydist "45" 2.0)
[CONTROL+"NUMPAD8"]^P(XYZ_keydist "90" 2.0)
[CONTROL+"NUMPAD7"]^P(XYZ_keydist "135" 2.0)
[CONTROL+"NUMPAD4"]^P(XYZ_keydist "180" 2.0)
[CONTROL+"NUMPAD1"]^P(XYZ_keydist "-135" 2.0)
[CONTROL+"NUMPAD2"]^P(XYZ_keydist "-90" 2.0)
[CONTROL+"NUMPAD3"]^P(XYZ_keydist "-45" 2.0)
;;; lisp code
;;;=========================================================================
;;; XYZ_KEYDIST - Combines input distance with direction for use with numeric keypad accelerators
;;;=========================================================================
(defun XYZ_keydist ( ang mult / return)
(if (and (= 0 (getvar "cmdactive")) (/= "get" ang))
;; pan if no command active
(progn
(command "-pan" (getvar "viewctr") (strcat "@" (rtos (/ (getvar "viewsize") -4.0)) "<" angle))
)
;; return number if active
(progn
(if (not mult)(setq mult 1))
(if (or (not XYZ_KEYDIST_VALUE)
(= ang "get")
) ;or
(setq XYZ_KEYDIST_VALUE
(dos_getreal "Distance"
"Enter distance for keypad entry" ;prompt
7 ;no zero, negative, or null
(* 0.375 (getvar "dimscale"))
) ;cbc_getdist
) ;setq
) ;if
(setq return (strcat "@" (rtos (* mult XYZ_KEYDIST_VALUE)) "<" ang))
)
)
(if return return (princ))
) ;defun