void settings_config_provider(Window *window) { // single click window_single_click_subscribe(BUTTON_ID_UP, settings_up_single_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN,settings_down_single_click_handler); window_long_click_subscribe(BUTTON_ID_UP,500,settings_up_long_click_handler,settings_up_long_click_release_handler); window_long_click_subscribe(BUTTON_ID_DOWN,500,settings_down_long_click_handler,settings_down_long_click_release_handler); }
void start_spin_click_config_provider(Window *window) { // Register the ClickHandlers window_long_click_subscribe(BUTTON_ID_UP, 100, spin_click_handler, spin_release_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 100, spin_click_handler, spin_release_handler); window_long_click_subscribe(BUTTON_ID_DOWN, 100, spin_click_handler, spin_release_handler); // window_single_click_subscribe(BUTTON_ID_BACK, spin_click_handler); }
/* * Button click handlers */ static void setting_click_config_provider(void *context) { window_single_click_subscribe(BUTTON_ID_UP, up_single_click_handler); window_single_click_subscribe(BUTTON_ID_SELECT, select_single_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN, down_single_click_handler); window_long_click_subscribe(BUTTON_ID_UP, AUTO_REPEAT_DELAY, up_button_starts_being_held_down, up_down_button_stops_being_held_down); window_long_click_subscribe(BUTTON_ID_DOWN, AUTO_REPEAT_DELAY, down_button_starts_being_held_down, up_down_button_stops_being_held_down); }
void mainwindow_click_config_provider(Window *window) { window_single_click_subscribe(BUTTON_ID_UP, up_single_click_handler); window_long_click_subscribe(BUTTON_ID_UP, 500, up_long_click_handler, NULL); window_single_click_subscribe(BUTTON_ID_SELECT, select_refresh_single_click_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 500, select_dump_long_click_handler, NULL); window_single_click_subscribe(BUTTON_ID_DOWN, down_single_click_handler); }
// set up button clicks or base window static void click_config_provider(void* context) { window_single_click_subscribe(BUTTON_ID_SELECT, (ClickHandler)toggle_timer_click); window_single_click_subscribe(BUTTON_ID_UP, (ClickHandler)cancel_timer_click); window_single_click_subscribe(BUTTON_ID_DOWN, (ClickHandler)submit_time_to_task); window_long_click_subscribe(BUTTON_ID_DOWN, 700, (ClickHandler)change_task_click, NULL); window_long_click_subscribe(BUTTON_ID_UP, 700, (ClickHandler)change_client_click, NULL); window_long_click_subscribe(BUTTON_ID_SELECT, 700, (ClickHandler)change_project_click, NULL); }
static void click_config_provider(void *context) { window_single_click_subscribe(BUTTON_ID_UP, up_click_handler); window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN, down_click_handler); window_long_click_subscribe(BUTTON_ID_UP, 0, up_long_handler, NULL); window_long_click_subscribe(BUTTON_ID_SELECT, 0, select_long_handler, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 0, down_long_handler, NULL); }
static void click_config_provider(void *context) { const uint16_t repeat_interval_ms = 1000; window_single_repeating_click_subscribe(BUTTON_ID_UP, repeat_interval_ms, up_single_click_handler); window_single_repeating_click_subscribe(BUTTON_ID_DOWN, repeat_interval_ms, down_single_click_handler); window_single_repeating_click_subscribe(BUTTON_ID_SELECT, repeat_interval_ms, select_single_click_handler); window_long_click_subscribe(BUTTON_ID_UP, 700, up_long_click_handler, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 700, down_long_click_handler, NULL); }
static void click_config_provider(void *context) { window_single_click_subscribe(BUTTON_ID_SELECT, hint_handler); window_single_click_subscribe(BUTTON_ID_UP, toggleorienttoheading); window_single_click_subscribe(BUTTON_ID_DOWN, get_info_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 0, reset_handler, NULL); // window_long_click_subscribe(BUTTON_ID_UP, 0, reset_handler, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 0, pin_set_handler, NULL); }
static void click_config_provider(void *context) { window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler); window_single_click_subscribe(BUTTON_ID_UP, up_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN, down_click_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 0, long_select_handler, NULL); window_long_click_subscribe(BUTTON_ID_UP, 0, long_up_handler, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 0, long_down_handler, NULL); window_multi_click_subscribe(BUTTON_ID_SELECT, 2, 4, 200, true, select_multi_click_handler); }
static void click_provider(void *context) { window_single_click_subscribe(BUTTON_ID_UP, up_click_cb); window_single_click_subscribe(BUTTON_ID_SELECT, select_click_cb); window_single_click_subscribe(BUTTON_ID_DOWN, down_click_cb); window_long_click_subscribe(BUTTON_ID_UP, 500, previous_click_cb, NULL); window_long_click_subscribe(BUTTON_ID_SELECT, 500, stop_click_cb, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 500, next_click_cb, NULL); }
static void click_config_provider(void* context) { window_single_click_subscribe(BUTTON_ID_UP, up_single_click_handler); window_long_click_subscribe(BUTTON_ID_UP, 1000, up_long_click_handler, up_long_release_handler); window_single_click_subscribe(BUTTON_ID_SELECT, select_single_click_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 1000, select_long_click_handler, select_long_release_handler); window_single_click_subscribe(BUTTON_ID_DOWN, down_single_click_handler); window_long_click_subscribe(BUTTON_ID_DOWN, 1000, down_long_click_handler, down_long_release_handler); }
static void click_config_provider(void *context) { window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler); window_single_click_subscribe(BUTTON_ID_UP, up_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN, down_click_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 700, select_long_click_handler, NULL); window_long_click_subscribe(BUTTON_ID_UP, 700, up_long_click_handler, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 700, down_long_click_handler, NULL); window_multi_click_subscribe(BUTTON_ID_SELECT, 2, 10, 0, true, select_multi_click_handler); window_multi_click_subscribe(BUTTON_ID_UP, 2, 10, 0, true, up_multi_click_handler); window_multi_click_subscribe(BUTTON_ID_DOWN, 2, 10, 0, true, down_multi_click_handler); }
/** * Register callbacks for button clicks. */ static void click_config_provider(void *context) { // Register the ClickHandlers window_raw_click_subscribe(BUTTON_ID_UP, up_click_handler, NULL,NULL); window_raw_click_subscribe(BUTTON_ID_DOWN, down_click_handler, NULL,NULL); window_long_click_subscribe(BUTTON_ID_UP, 1000, up_long_click_handler, NULL); window_long_click_subscribe(BUTTON_ID_DOWN, 1000, down_long_click_handler, NULL); }
void browse_config_provider(Window *window) { // single click / repeat-on-hold config: window_single_click_subscribe(BUTTON_ID_DOWN, down_single_click_handler); window_single_click_subscribe(BUTTON_ID_UP, up_single_click_handler); window_single_click_subscribe(BUTTON_ID_SELECT, select_single_click_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 700, select_long_click_handler, select_long_click_release_handler); }
static void menu_layer_click_config_provider(MenuLayer *menu_layer) { menu_layer_ccp(menu_layer); MenuLayerCallbacks callbacks = *((MenuLayerCallbacks*)(((uint32_t*)menu_layer) + menu_layer_callbacks_word_offset)); // Trash all the existing long-click handlers for (int i = 0; i < NUM_BUTTONS; ++i) { window_long_click_subscribe(i, 0, NULL, NULL); } // These timing values seem right-ish window_single_click_subscribe(remap[BUTTON_ID_SELECT], menu_select_click_handler); // We don't want to register a long-click handler at all unless the user specified one, otherwise it makes regular clicks lag if (callbacks.select_long_click) { window_long_click_subscribe(remap[BUTTON_ID_SELECT], 0, menu_select_long_click_handler, NULL); } window_single_repeating_click_subscribe(remap[BUTTON_ID_UP], 100, menu_scroll_up_click_handler); window_single_repeating_click_subscribe(remap[BUTTON_ID_DOWN], 100, menu_scroll_down_click_handler); }
void calendar_click_config_provider(void* context) { window_single_click_subscribe(BUTTON_ID_UP, calendar_click_single); window_single_click_subscribe(BUTTON_ID_DOWN, calendar_click_single); window_single_click_subscribe(BUTTON_ID_SELECT, calendar_click_single); window_long_click_subscribe(BUTTON_ID_SELECT, 0, calendar_click_long, NULL); }
void config_provider(void *context) { window_single_click_subscribe(BUTTON_ID_DOWN, navigate_down_handler); window_single_click_subscribe(BUTTON_ID_UP, navigate_up_handler); window_single_click_subscribe(BUTTON_ID_SELECT, select_handler); window_single_click_subscribe(BUTTON_ID_BACK, load_menu); window_long_click_subscribe(BUTTON_ID_SELECT, 1000, long_select_handler, long_select_handler_release); }
void config_provider(Window *window) { // single click / repeat-on-hold config: window_single_click_subscribe(BUTTON_ID_SELECT, select_single_click_handler); window_long_click_subscribe(BUTTON_ID_SELECT, 700, select_long_click_handler, NULL); window_single_click_subscribe(BUTTON_ID_DOWN, next_train); window_single_click_subscribe(BUTTON_ID_UP, next_train); }
static void clickConfigProviderName(void *ctx) { window_single_repeating_click_subscribe(BUTTON_ID_UP, CLICKS_INTERVAL_NAME, upButtonName); window_single_click_subscribe(BUTTON_ID_SELECT, selectButtonName); window_long_click_subscribe(BUTTON_ID_SELECT, 0, finishedName, NULL); window_single_repeating_click_subscribe(BUTTON_ID_DOWN, CLICKS_INTERVAL_NAME, downButtonName); window_single_click_subscribe(BUTTON_ID_BACK, backButtonName); }
/* * Button config */ static void click_config_provider(Window *window) { window_single_click_subscribe(BUTTON_ID_BACK, back_single_click_handler); window_single_click_subscribe(BUTTON_ID_UP, up_single_click_handler); window_single_click_subscribe(BUTTON_ID_SELECT, select_single_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN, down_single_click_handler); #ifdef VOICE_SUPPORTED window_long_click_subscribe(BUTTON_ID_SELECT, 0, select_click_handler_long, NULL); #endif }
static void config_provider(void *context) { // single click / repeat-on-hold config: const uint16_t repeat_interval_ms = 1000; window_single_repeating_click_subscribe(BUTTON_ID_SELECT, repeat_interval_ms, select_single_click_handler); // multi click config: window_multi_click_subscribe(BUTTON_ID_SELECT, 2, 10, 0, true, select_multi_click_handler); // long click config: window_long_click_subscribe(BUTTON_ID_SELECT, 700, select_long_click_handler, select_long_click_release_handler); }
static void local_click_config_provider_wrapper( ButtonId button_id, void* context ) { if ( config_enabled( button_id, CLICKTYPE_SINGLE ) ) window_single_click_subscribe( button_id, local_click_handler_single ); // single click if ( config_enabled( button_id, CLICKTYPE_LONG ) ) window_long_click_subscribe( button_id, 0, NULL, local_click_handler_long ); // long click, call on up if ( config_enabled( button_id, CLICKTYPE_MULTI ) ) window_multi_click_subscribe( button_id, 2, 2, 0, true, local_click_handler_multi ); // double click, call on last window_set_click_context( button_id, context); }
static void click_config_provider(void *context) { // Register the ClickHandlers window_single_click_subscribe(BUTTON_ID_SELECT, do_nothing_click_handler); window_single_click_subscribe(BUTTON_ID_BACK, do_nothing_click_handler); bool topbutton_dismiss = load_persistent_storage_bool(TOP_BUTTON_DISMISS_KEY, true); if(s_konami_dismiss==2) window_long_click_subscribe(topbutton_dismiss?BUTTON_ID_UP:BUTTON_ID_DOWN,1000,dismiss_click_handler,NULL); else window_single_click_subscribe(topbutton_dismiss?BUTTON_ID_UP:BUTTON_ID_DOWN, dismiss_click_handler); window_single_click_subscribe(topbutton_dismiss?BUTTON_ID_DOWN:BUTTON_ID_UP, snooze_click_handler); }
// Enable the set of buttons active while the chrono is stopped. void stopped_click_config_provider(void *context) { // single click config: window_single_click_subscribe(BUTTON_ID_UP, &chrono_start_stop_handler); window_single_click_subscribe(BUTTON_ID_DOWN, NULL); // long click config: window_long_click_subscribe(BUTTON_ID_DOWN, 700, &chrono_lap_or_reset_handler, NULL); // To push the digital chrono display. window_single_click_subscribe(BUTTON_ID_SELECT, &push_chrono_digital_handler); }
// Click configuration provider static void prv_click_config_provider(void *ctx) { window_single_click_subscribe(BUTTON_ID_BACK, prv_back_click_handler); window_single_repeating_click_subscribe(BUTTON_ID_UP, BUTTON_HOLD_REPEAT_MS, prv_up_click_handler); window_single_click_subscribe(BUTTON_ID_SELECT, prv_select_click_handler); window_raw_click_subscribe(BUTTON_ID_SELECT, prv_select_raw_click_handler, NULL, NULL); window_long_click_subscribe(BUTTON_ID_SELECT, BUTTON_HOLD_RESET_MS, prv_select_long_click_handler, NULL); window_single_repeating_click_subscribe(BUTTON_ID_DOWN, BUTTON_HOLD_REPEAT_MS, prv_down_click_handler); }
static void click_config_provider(void *context) { // Register the ClickHandlers window_single_click_subscribe(BUTTON_ID_SELECT, do_nothing_click_handler); window_single_click_subscribe(BUTTON_ID_BACK, do_nothing_click_handler); bool longpress_dismiss = load_persistent_storage_bool(LONGPRESS_DISMISS_KEY,false); if(longpress_dismiss) window_long_click_subscribe(BUTTON_ID_UP,1000,dismiss_click_handler,NULL); else window_single_click_subscribe(BUTTON_ID_UP, dismiss_click_handler); window_single_click_subscribe(BUTTON_ID_DOWN, snooze_click_handler); }
void click_config_provider(void *context) { // Single Click Up Action window_single_click_subscribe(BUTTON_ID_UP, up_single_click_handler); // Single Click Down window_single_click_subscribe(BUTTON_ID_DOWN, down_single_click_handler); // Single Click Select window_single_click_subscribe(BUTTON_ID_SELECT, select_single_click_handler); // Long Click Select window_long_click_subscribe(BUTTON_ID_SELECT, (uint16_t) 500, select_long_click_handler, NULL); }
// Enable the set of buttons active while the chrono is running. void started_click_config_provider(void *context) { // single click config: window_single_click_subscribe(BUTTON_ID_UP, &chrono_start_stop_handler); window_single_click_subscribe(BUTTON_ID_DOWN, &chrono_lap_handler); // It's important to disable the lock_click handler while the chrono // is running, so that the normal click handler (above) can be // immediately responsive. If we leave the long_click handler // active, then the underlying SDK has to wait the full 700 ms to // differentiate a long_click from a click, which makes the lap // response sluggish. window_long_click_subscribe(BUTTON_ID_DOWN, 0, NULL, NULL); // To push the digital chrono display. window_single_click_subscribe(BUTTON_ID_SELECT, &push_chrono_digital_handler); }
void message_click_config_provider(void* context) { window_single_click_subscribe(BUTTON_ID_SELECT, message_click); window_long_click_subscribe(BUTTON_ID_SELECT, 500, item_long_click, NULL); }
void click_config(void *data) { window_long_click_subscribe(BUTTON_ID_SELECT, 100, start_tree, leave); window_long_click_subscribe(BUTTON_ID_DOWN, 100, set_rollout, NULL); }