This library converts among X11 keysyms, unicodes, and string names in node.js.
Why would anybody want to do that? Why indeed, dear reader. Why indeed.
- fromKeysym - look up a record from an integral keysym
- fromUnicode - look up a record from its integral unicode position
- fromName - look up a record by name
You can also get at all the records at require('keysym').records
.
Records are just hashes with fields: keysym, unicode, status, ane name. These fields come directly from keysyms.txt, except keysym and unicode are converted from hexadecimal strings to integers.
var ks = require('keysym');
console.dir(ks.fromUnicode(8))
Output: [ { keysym: 65288 , unicode: 8 , status: 'f' , names: [ 'BackSpace' ] } ]
To install with npm:
npm install keysym
To run the tests with expresso:
expresso
This module is basically just a thin wrapper around a public domain keysym dataset compiled by Markus G. Kuhn.
Specifically, it's from this file.