urbit/mar/dill/belt.hoon
Philip C Monk c9539452e2 Merge remote-tracking branch 'origin/newunix'
Conflicts:
	urb/urbit.pill
	urb/zod/base/mar/bit-accounts.hoon
	urb/zod/base/mar/bit-addr-made.hoon
	urb/zod/base/mar/bit-addr-request.hoon
	urb/zod/base/mar/bit-api-call.hoon
	urb/zod/base/mar/bit-get-token.hoon
	urb/zod/base/mar/bit-transaction.hoon
	urb/zod/base/mar/bit/accounts.hoon
	urb/zod/base/mar/bit/addr-made.hoon
	urb/zod/base/mar/bit/addr-request.hoon
	urb/zod/base/mar/bit/api-call.hoon
	urb/zod/base/mar/bit/get-token.hoon
	urb/zod/base/mar/bit/transaction.hoon
	urb/zod/base/mar/cloud-auth.hoon
	urb/zod/base/mar/cloud-secret.hoon
	urb/zod/base/mar/cloud/auth.hoon
	urb/zod/base/mar/cloud/secret.hoon
	urb/zod/base/mar/dill-belt.hoon
	urb/zod/base/mar/dill-blit.hoon
	urb/zod/base/mar/dill/belt.hoon
	urb/zod/base/mar/dill/blit.hoon
	urb/zod/base/mar/oct3-move.hoon
	urb/zod/base/mar/oct3-update.hoon
	urb/zod/base/mar/oct3/move.hoon
	urb/zod/base/mar/oct3/update.hoon
	urb/zod/base/mar/oct4-move.hoon
	urb/zod/base/mar/oct4-update.hoon
	urb/zod/base/mar/oct4/move.hoon
	urb/zod/base/mar/oct4/update.hoon
	urb/zod/base/mar/sole-action.hoon
	urb/zod/base/mar/sole-effect.hoon
	urb/zod/base/mar/sole/action.hoon
	urb/zod/base/mar/sole/effect.hoon
	urb/zod/base/mar/talk-command.hoon
	urb/zod/base/mar/talk-report.hoon
	urb/zod/base/mar/talk/command.hoon
	urb/zod/base/mar/talk/report.hoon
	urb/zod/mar/bit-accounts.hoon
	urb/zod/mar/bit-addr-made.hoon
	urb/zod/mar/bit-addr-request.hoon
	urb/zod/mar/bit-api-call.hoon
	urb/zod/mar/bit-get-token.hoon
	urb/zod/mar/bit-transaction.hoon
	urb/zod/mar/cloud-auth.hoon
	urb/zod/mar/cloud-auth/door.hook
	urb/zod/mar/cloud-secret.hoon
	urb/zod/mar/cloud-secret/door.hook
	urb/zod/mar/dill-belt.hoon
	urb/zod/mar/dill-blit.hoon
	urb/zod/mar/oct3-move.hoon
	urb/zod/mar/oct3-update.hoon
	urb/zod/mar/oct4-move.hoon
	urb/zod/mar/oct4-update.hoon
	urb/zod/mar/sole-action.hoon
	urb/zod/mar/sole-effect.hoon
	urb/zod/mar/talk-command.hoon
	urb/zod/mar/talk-report.hoon
2015-06-23 19:28:46 -04:00

59 lines
1.6 KiB
Plaintext

::
:::: /hoon/dill-belt/mar
::
/? 314
/- kyev,*sole
!:
::::
::
|_ dill-belt
::
++ grab :: convert from
|%
++ json
=< (cork . kyev)
|= jon=^json ^- ^kyev
%- need
%. jon => jo %- ot
:~ mod/(cu ^sa (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-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 :: clam from %noun
--
--