{ desc, kGConfKeysPath "/" name, 0, default }
#define BUTTON_LAST \
{ 0 }
-static const ButtonEntry buttons[] = {
+static ButtonEntry buttons[] = {
BUTTON_INITIALIZER("A", "a", 48),
BUTTON_INITIALIZER("B", "b", 20),
BUTTON_INITIALIZER("X", "x", 32),
switch (gtk_combo_box_get_active(combo)) {
case 0:
gtk_widget_show_all(GTK_WIDGET(none_label));
- g_debug("Showing label\n");
break;
- case 1:
+ case 1: // Keys
gtk_widget_show_all(GTK_WIDGET(keys_scroll));
break;
- case 2:
+ case 2: // Touchscreen
gtk_widget_show_all(GTK_WIDGET(ts_label));
break;
+ case 3: // Touchscreen + keys
+ gtk_widget_show_all(GTK_WIDGET(keys_scroll));
+ break;
+ case 4: // Mouse
+ gtk_widget_show_all(GTK_WIDGET(ts_label));
+ break;
+ case 5: // Mouse + keys
+ gtk_widget_show_all(GTK_WIDGET(keys_scroll));
+ break;
}
}
int scancode = gconf_client_get_int(gcc, button_entry->gconf_key, NULL);
button_entry->scancode = scancode;
+
gtk_tree_model_row_changed(GTK_TREE_MODEL(keys_store), path, iter);
return FALSE;
-1);
g_debug("Clearing scancode for button %s\n", button_entry->name);
- gconf_client_unset(gcc, button_entry->gconf_key, NULL);
+ gconf_client_set_int(gcc, button_entry->gconf_key, 0, NULL);
+ // prefer 0 value over unset key.
button_entry->scancode = 0;
}
gtk_combo_box_append_text(combo, "No controls/Use config file");
gtk_combo_box_append_text(combo, "Use physical keys");
gtk_combo_box_append_text(combo, "Use touchscreen");
+ gtk_combo_box_append_text(combo, "Use touchscreen + physical keys");
+ gtk_combo_box_append_text(combo, "Use SNES mouse");
+ gtk_combo_box_append_text(combo, "Use SNES mouse + physical keys");
none_label = GTK_LABEL(gtk_label_new("Check documentation for details."));
column = gtk_tree_view_column_new_with_attributes("Key", renderer, NULL);
gtk_tree_view_column_set_cell_data_func(column, renderer, accel_set_func, NULL, NULL);
gtk_tree_view_column_set_resizable(column, FALSE);
- gtk_tree_view_column_set_min_width(column, 200);
+ gtk_tree_view_column_set_min_width(column, 240);
gtk_tree_view_append_column(keys_list, column);
gtk_tree_view_set_headers_visible(keys_list, TRUE);
-1);
}
- ts_label = GTK_LABEL(gtk_label_new("Not implemented."));
+ ts_label = GTK_LABEL(gtk_label_new("Check layout somewhere else for now."));
gtk_window_resize(GTK_WINDOW(dialog), 600, 340);
gtk_box_pack_start(GTK_BOX(dialog->vbox), GTK_WIDGET(combo),