Tickit[1] is much nicer, and comes with what is possibly the only good way of reading modifier characters from a terminal (seriously).
Alternately, if you're ok with not running in a terminal, check out bearlibterminal[2].
1: http://www.leonerd.org.uk/code/libtickit/
2: http://foo.wyrd.name/en:bearlibterminal
Tickit[1] is much nicer, and comes with what is possibly the only good way of reading modifier characters from a terminal (seriously).
Alternately, if you're ok with not running in a terminal, check out bearlibterminal[2].
1: http://www.leonerd.org.uk/code/libtickit/
2: http://foo.wyrd.name/en:bearlibterminal