:: :::: /hoon/belt/dill/mar :: /? 310 /- kyev, sole :: :::: :: =, sole |_ dill-belt:dill :: ++ grad %noun ++ grow |% ++ noun +<.grow -- ++ grab :: convert from |% ++ json =< (cork . kyev) |= jon/^json ^- ^kyev !! :: %- need :: %. jon => jo %- ot :: :~ mod+(cu silt (ar (su (perk ~[%ctrl %shift %alt %meta])))) :: :- %key :: %+ cu |*(a/$%({$str @t} {$act @}) ?+(-.a a $str +.a)) :: =- (of [str+so act+(su (perk -)) ~]) :: :~ %ctrl %shift %alt %meta %entr %esc %caps %uncap :: %pgup %pgdn %home %end %baxp %del %ins :: %up %down %left %right :: == == ++ kyev |= kev/^kyev ^- dill-belt:dill ~| dill-belt-incomplete+kev ?: ?=({$act ?($ctrl $shift $alt $meta)} q.kev) [%txt ~] :: ignore =+ mod=(~(del in p.kev) %shift) ?^ mod ?^ q.kev !! :: only accept strings =. q.kev ?. (~(has in p.kev) %ctrl) q.kev (con 96 q.kev) :: ctrl key decoding =+ cha=(tuba (trip q.kev)) ?> ?=({@ ~} cha) :: of a single character ?+ mod !! :: modified by one buckykey {$ctrl ~ ~} [%ctl i.cha] {$alt ~ ~} [%met i.cha] == ?@ q.kev [%txt (tuba (trip q.kev))] ?+ +.q.kev !! $del [%del ~] $baxp [%bac ~] $entr [%ret ~] $up [%aro %u] $down [%aro %d] $left [%aro %l] $right [%aro %r] == :: %yow, %rez? :: ++ noun dill-belt:dill :: clam from %noun -- --