mirror of
https://github.com/novnc/noVNC.git
synced 2026-06-08 05:14:37 +00:00
Remove keysym names from keysymdef.js
They were incomplete and turned off in most cases so they served little use besides adding complexity.
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
var fs = require('fs');
|
||||
|
||||
var show_help = process.argv.length === 2;
|
||||
var use_keynames = false;
|
||||
var filename;
|
||||
|
||||
for (var i = 2; i < process.argv.length; ++i) {
|
||||
@@ -13,10 +12,6 @@ for (var i = 2; i < process.argv.length; ++i) {
|
||||
case "-h":
|
||||
show_help = true;
|
||||
break;
|
||||
case "--debug-names":
|
||||
case "-d":
|
||||
use_keynames = true;
|
||||
break;
|
||||
case "--file":
|
||||
case "-f":
|
||||
default:
|
||||
@@ -33,14 +28,10 @@ if (show_help) {
|
||||
console.log("Parses a *nix keysymdef.h to generate Unicode code point mappings");
|
||||
console.log("Usage: node parse.js [options] filename:");
|
||||
console.log(" -h [ --help ] Produce this help message");
|
||||
console.log(" -d [ --debug-names ] Preserve keysym names for debugging (Increases file size by ~40KB)");
|
||||
console.log(" filename The keysymdef.h file to parse");
|
||||
return;
|
||||
}
|
||||
|
||||
// Set this to false to omit key names from the generated keysymdef.js
|
||||
// This reduces the file size by around 40kb, but may hinder debugging
|
||||
|
||||
var buf = fs.readFileSync(filename);
|
||||
var str = buf.toString('utf8');
|
||||
|
||||
@@ -48,7 +39,6 @@ var re = /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-fA-F]+)\s*(\/\*\s*(.*)\s*\*\/)
|
||||
|
||||
var arr = str.split('\n');
|
||||
|
||||
var keysyms = {};
|
||||
var codepoints = {};
|
||||
|
||||
for (var i = 0; i < arr.length; ++i) {
|
||||
@@ -58,8 +48,6 @@ for (var i = 0; i < arr.length; ++i) {
|
||||
var keysym = parseInt(result[2], 16);
|
||||
var remainder = result[3];
|
||||
|
||||
keysyms[keysym] = keyname;
|
||||
|
||||
var unicodeRes = /U\+([0-9a-fA-F]+)/.exec(remainder);
|
||||
if (unicodeRes) {
|
||||
var unicode = parseInt(unicodeRes[1], 16);
|
||||
@@ -80,21 +68,18 @@ var out = "// This file describes mappings from Unicode codepoints to the keysym
|
||||
"// (and optionally, key names) expected by the RFB protocol\n" +
|
||||
"// How this file was generated:\n" +
|
||||
"// " + process.argv.join(" ") + "\n" +
|
||||
"var keynames = {keysyms};\n" +
|
||||
"\n" +
|
||||
"var codepoints = {codepoints};\n" +
|
||||
"\n" +
|
||||
"function lookup(k) { return k ? {keysym: k, keyname: keynames ? keynames[k] : k} : undefined; }\n" +
|
||||
"export default {\n" +
|
||||
" fromUnicode : function(u) {\n" +
|
||||
" lookup : function(u) {\n" +
|
||||
" var keysym = codepoints[u];\n" +
|
||||
" if (keysym === undefined) {\n" +
|
||||
" keysym = 0x01000000 | u;\n" +
|
||||
" }\n" +
|
||||
" return lookup(keysym);\n" +
|
||||
" return keysym;\n" +
|
||||
" },\n" +
|
||||
" lookup : lookup\n" +
|
||||
"};\n";
|
||||
out = out.replace('{keysyms}', use_keynames ? JSON.stringify(keysyms) : "null");
|
||||
out = out.replace('{codepoints}', JSON.stringify(codepoints));
|
||||
|
||||
fs.writeFileSync("keysymdef.js", out);
|
||||
|
||||
Reference in New Issue
Block a user