#include "keys-from-name.h"
#include "keys-to-name.h"
+#include "util.h"
#define MAX_SCANCODES 1024
int fd;
char fn[PATH_MAX];
- if (strncmp(dev, "/dev", 4) != 0) {
+ if (!startswith(dev, "/dev")) {
snprintf(fn, sizeof(fn), "/dev/%s", dev);
dev = fn;
}
int main(int argc, char **argv)
{
+ enum {
+ ARG_VERSION = 0x100,
+ };
+
static const struct option options[] = {
{ "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
{ "interactive", no_argument, NULL, 'i' },
{}
};
case 'h':
help(0);
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ exit(0);
+
case 'i':
opt_interactive = 1;
break;
const char *filearg = argv[optind+1];
if (strchr(filearg, '/')) {
/* Keymap file argument is a path */
- FILE *f = fopen(filearg, "r");
+ FILE *f = fopen(filearg, "re");
if (f)
merge_table(fd, f);
else
char keymap_path[PATH_MAX];
FILE *f;
snprintf(keymap_path, sizeof(keymap_path), "%s%s", SYSCONFDIR "/udev/keymaps/", filearg);
- f = fopen(keymap_path, "r");
+ f = fopen(keymap_path, "re");
if (f) {
merge_table(fd, f);
} else {
snprintf(keymap_path, sizeof(keymap_path), "%s%s", UDEVLIBEXECDIR "/keymaps/", filearg);
- f = fopen(keymap_path, "r");
+ f = fopen(keymap_path, "re");
if (f)
merge_table(fd, f);
else