############################################################################
#
#	File:     kmap.icn
#
#	Subject:  Procedure to map keyboard letter forms into letters
#
#	Author:   Ralph E. Griswold
#
#	Date:     July 15, 1995
#
############################################################################
#
#   This file is in the public domain.
#
############################################################################
#
#  This procedure maps uppercase letters and the control modifier key
#  in combination with letters into the corresponding lowercase letters.
#
#  It is intended for use with graphic applications in which the modifier
#  keys for shift and control are encoded in keyboard events.
#
############################################################################

procedure kmap(s)		#: map letter with modifier key to lowercase
   static in, out

   initial {
      in := "\^A\^B\^C\^D\^E\^F\^G\^H\^I\^J\^K\^L\^M\^N\^O\^P_
         \^Q\^R\^S\^T\^U\^V\^W\^X\^Y\^Z" || &ucase
      out := &lcase || &lcase
      }

   return map(s, in, out)

end
