コード例 #1
0
ファイル: commands.c プロジェクト: sahne/vitunes
int
cmd_bind(int argc, char *argv[])
{
   KeyAction action;
   KeyCode code;

   if (argc < 3 || argc > 4) {
      paint_error("usage: %s <action> <keycode>", argv[0]);
      return 1;
   }

   if (!kb_str2action(argv[1], &action)) {
      paint_error("Unknown action '%s'", argv[1]);
      return 1;
   }

   if (argc == 3) {
      if ((code = kb_str2keycode(argv[2])) < 0) {
         paint_error("Invalid keycode '%s'", argv[2]);
         return 1;
      }
   } else {
      if ((code = kb_str2keycode2(argv[2], argv[3])) < 0) {
         paint_error("Invalid keycode '%s'", argv[2]);
         return 1;
      }
   }

   kb_bind(action, code);
   return 0;
}
コード例 #2
0
ファイル: keybindings.c プロジェクト: tcunha/vitunes
void
kb_init()
{
   size_t i;

   /* setup empty buffer */
   KeyBindingsSize = 0;
   KeyBindingsCapacity = 0;
   kb_increase_capacity();

   /* install default bindings */
   for (i = 0; i < DefaultKeyBindingsSize; i++)
      kb_bind(DefaultKeyBindings[i].action, DefaultKeyBindings[i].key);
}