indent, cleanup

ulab-original
jsorg71 16 years ago
parent 10a547fd5a
commit 9f72773443

@ -2,22 +2,24 @@
/* /*
* genkeymap.c * genkeymap.c
* Copyright (C) Ádám Wallner 2008 <wallner@bitbaro.hu> * Copyright (C) Ádám Wallner 2008 <wallner@bitbaro.hu>
* *
* You may redistribute it and/or modify it under the terms of the * You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software * GNU General Public License, as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) * Foundation; either version 2 of the License, or (at your option)
* any later version. * any later version.
* *
* main.cc is distributed in the hope that it will be useful, * main.cc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. * See the GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with main.cc. If not, write to: * along with main.cc. If not, write to:
* The Free Software Foundation, Inc., * The Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor * 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301, USA. * Boston, MA 02110-1301, USA
Updated Jay Sorg 2009
cs czech 0x405 cs czech 0x405
de german 0x407 de german 0x407
@ -32,92 +34,90 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h>
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include <locale.h> #include <locale.h>
const char *ProgramName; int main(int argc, char **argv)
Display *dpy; {
const char* programname;
int main(int argc, char **argv) { char text[256];
char *displayname = NULL; char* ksname = NULL;
char *outfname; char* displayname = NULL;
KeySym ks; char* outfname;
int i, idx; char* sections[5] = {"noshift", "shift", "altgr", "capslock", "shiftcapslock"};
FILE *outf; int states[5] = {0, 1, 0x80, 2, 3};
char *ksname = NULL; int i;
XKeyPressedEvent e; int idx;
char text[256]; int char_count;
wchar_t wtext[256]; int nbytes = 0;
int char_count; int unicode;
int nbytes = 0; Display* dpy;
int unicode; KeySym ks;
FILE* outf;
setlocale(LC_CTYPE, ""); XKeyPressedEvent e;
wchar_t wtext[256];
/* --------------- */ setlocale(LC_CTYPE, "");
programname = argv[0];
char *sections[5] = {"noshift", "shift", "altgr", "capslock", "shiftcapslock"}; if (argc != 2)
int states[5] = {0, 1, 0x80, 2, 3}; {
fprintf(stderr, "Usage: %s out_filename\n", programname);
/* --------------- */ fprintf(stderr, "Example: %s /etc/xrdp/km-0409.ini\n", programname);
return 1;
ProgramName = argv[0]; }
outfname = argv[1];
if (argc != 2) { dpy = XOpenDisplay(displayname);
fprintf(stderr, "Usage: %s out_filename\n", ProgramName); if (!dpy)
exit(1); {
} fprintf(stderr, "%s: unable to open display '%s'\n",
outfname = argv[1]; programname, XDisplayName(displayname));
return 1;
}
dpy = XOpenDisplay (displayname); outf = fopen(outfname, "w");
if (!dpy) { if (outf == NULL)
fprintf(stderr, "%s: unable to open display '%s'\n", {
ProgramName, XDisplayName (displayname)); fprintf(stderr, "%s: unable to create file '%s'\n", programname, outfname);
exit(1); XCloseDisplay(dpy);
} return 1;
}
/* --------------- */ memset(&e, 0, sizeof(e));
e.type = KeyPress;
e.type = KeyPress; e.serial = 16;
e.serial = 16; e.send_event = True;
e.send_event = True; e.display = dpy;
e.display = dpy; e.same_screen = True;
e.window = (Window) NULL; for (idx = 0; idx < 5; idx++) /* Sections and states */
e.root = (Window) NULL; {
e.time = 0; fprintf(outf, "[%s]\n", sections[idx]);
e.x = e.y = 0; e.state = states[idx];
e.x_root = e.y_root = 0; for (i = 8; i <= 137; i++) /* Keycodes */
e.same_screen = True; {
e.keycode = i;
outf = fopen(outfname, "w"); nbytes = XLookupString(&e, text, 255, &ks, NULL);
if (ks == NoSymbol)
for (idx=0; idx<5; idx++) { // Sections and states {
fprintf(outf, "[%s]\n", sections[idx]); ksname = "NoSymbol";
e.state = states[idx]; }
for (i=8; i<=137; i++) { // Keycodes else if (!(ksname = XKeysymToString(ks)))
e.keycode = i; {
nbytes = XLookupString (&e, text, 255, &ks, NULL); ksname = "(no name)";
}
if (ks == NoSymbol) char_count = mbstowcs(wtext, text, 255);
ksname = "NoSymbol"; unicode = 0;
else if (!(ksname = XKeysymToString (ks))) if (char_count == 1)
ksname = "(no name)"; {
char_count = mbstowcs(wtext, text, 255); unicode = wtext[0];
unicode = 0; }
if (char_count == 1) fprintf(outf, "Key%d=%d:%d\n", i, (int) ks, unicode);
{ }
unicode = wtext[0]; if (idx != 4)
} {
//printf("%s %d %x\n", text, char_count, wtext[0]); fprintf(outf, "\n");
fprintf(outf, "Key%d=%d:%d\n", i, (int) ks, unicode); }
} }
if (idx!=4) fprintf(outf, "\n"); XCloseDisplay(dpy);
} fclose(outf);
return 0;
XCloseDisplay (dpy);
fclose(outf);
return (0);
} }

Loading…
Cancel
Save