(.using
  [library
   [lux "*"
    ["$" documentation {"+" documentation:}]
    [control
     ["<>" parser
      ["<[0]>" code]]]
    [data
     ["[0]" text {"+" \n}
      ["%" format {"+" format}]]]
    [macro
     ["[0]" template]]]]
  [\\library
   ["[0]" /]])

(documentation: /.Key
  "A key from a keyboard, identify by a numeric ID.")

(documentation: /.Press
  "A key-press for a key.")

(.def: .public documentation
  (.List $.Module)
  ($.module /._
            ""
            [..Key
             ..Press
             ($.default /.back_space)
             ($.default /.enter)
             ($.default /.shift)
             ($.default /.control)
             ($.default /.alt)
             ($.default /.caps_lock)
             ($.default /.escape)
             ($.default /.space)
             ($.default /.page_up)
             ($.default /.page_down)
             ($.default /.end)
             ($.default /.home)
             ($.default /.left)
             ($.default /.up)
             ($.default /.right)
             ($.default /.down)
             ($.default /.a)
             ($.default /.b)
             ($.default /.c)
             ($.default /.d)
             ($.default /.e)
             ($.default /.f)
             ($.default /.g)
             ($.default /.h)
             ($.default /.i)
             ($.default /.j)
             ($.default /.k)
             ($.default /.l)
             ($.default /.m)
             ($.default /.n)
             ($.default /.o)
             ($.default /.p)
             ($.default /.q)
             ($.default /.r)
             ($.default /.s)
             ($.default /.t)
             ($.default /.u)
             ($.default /.v)
             ($.default /.w)
             ($.default /.x)
             ($.default /.y)
             ($.default /.z)
             ($.default /.num_pad_0)
             ($.default /.num_pad_1)
             ($.default /.num_pad_2)
             ($.default /.num_pad_3)
             ($.default /.num_pad_4)
             ($.default /.num_pad_5)
             ($.default /.num_pad_6)
             ($.default /.num_pad_7)
             ($.default /.num_pad_8)
             ($.default /.num_pad_9)
             ($.default /.delete)
             ($.default /.num_lock)
             ($.default /.scroll_lock)
             ($.default /.print_screen)
             ($.default /.insert)
             ($.default /.windows)
             ($.default /.f1)
             ($.default /.f2)
             ($.default /.f3)
             ($.default /.f4)
             ($.default /.f5)
             ($.default /.f6)
             ($.default /.f7)
             ($.default /.f8)
             ($.default /.f9)
             ($.default /.f10)
             ($.default /.f11)
             ($.default /.f12)
             ($.default /.f13)
             ($.default /.f14)
             ($.default /.f15)
             ($.default /.f16)
             ($.default /.f17)
             ($.default /.f18)
             ($.default /.f19)
             ($.default /.f20)
             ($.default /.f21)
             ($.default /.f22)
             ($.default /.f23)
             ($.default /.f24)
             ($.default /.release)
             ($.default /.press)]
            []))
