Remove old and obsolete fi.map
[platform/upstream/kbd.git] / contrib / dropkeymaps.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <sys/ioctl.h>
4
5 #include "getfd.h"
6
7 #include <linux/kd.h>
8 #include <linux/keyboard.h>
9
10 int
11 main(void)
12 {
13         struct kbentry ke;
14
15         int i, j, fd;
16         char *console = NULL;
17
18         /* get console */
19         fd = getfd(console);
20
21         for (i = 0; i < MAX_NR_KEYMAPS; i++) {
22                 for (j = 0; j < NR_KEYS; j++) {
23                         ke.kb_index = j;
24                         ke.kb_table = i;
25                         ke.kb_value = K_HOLE;
26
27                         if (ioctl(fd, KDSKBENT, (unsigned long)&ke)) {
28                                 perror("KDSKBENT");
29                                 fprintf(stderr, "Error: cannot deallocate or clear keymap %d key %d\n", i, j);
30                                 return EXIT_FAILURE;
31                         }
32                 }
33
34                 /* deallocate keymap */
35                 ke.kb_index = 0;
36                 ke.kb_table = i;
37                 ke.kb_value = K_NOSUCHMAP;
38
39                 if (ioctl(fd, KDSKBENT, (unsigned long)&ke)) {
40                         perror("KDSKBENT");
41                         fprintf(stderr, "Error: could not deallocate keymap %d\n", i);
42                         return EXIT_FAILURE;
43                 }
44         }
45
46         return EXIT_SUCCESS;
47 }