本文整理汇总了C++中register_code函数的典型用法代码示例。如果您正苦于以下问题:C++ register_code函数的具体用法?C++ register_code怎么用?C++ register_code使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了register_code函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: qk_ucis_symbol_fallback
void qk_ucis_symbol_fallback (void) {
for (uint8_t i = 0; i < qk_ucis_state.count - 1; i++) {
uint8_t code = qk_ucis_state.codes[i];
register_code(code);
unregister_code(code);
wait_ms(UNICODE_TYPE_DELAY);
}
}
开发者ID:bellwood4486,项目名称:qmk_firmware,代码行数:8,代码来源:process_ucis.c
示例2: tap_esc_func_finished
void tap_esc_func_finished(qk_tap_dance_state_t *state, void *user_data) {
if(state->pressed){
layer_on(FUNC);
}else{
register_code(KC_ESC);
unregister_code(KC_ESC);
}
}
开发者ID:Twey,项目名称:qmk_firmware,代码行数:8,代码来源:keymap.c
示例3: register_code16
void register_code16 (uint16_t code) {
if (IS_MOD(code) || code == KC_NO) {
do_code16 (code, qk_register_mods);
} else {
do_code16 (code, qk_register_weak_mods);
}
register_code (code);
}
开发者ID:kipricker,项目名称:qmk_firmware,代码行数:8,代码来源:quantum.c
示例4: send_unicode
void send_unicode(uint16_t unicode)
{
// For more info on how this works per OS, see here: https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input
// Implemented for Windows:
// Pressing ALT followed by + followed by the unicode code point in hex.
// Requires registry key HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpad set to String 1
register_code(KC_LALT);
register_code(KC_PPLS);
unregister_code(KC_PPLS);
for (int i = 12; i >= 0; i -= 4) {
register_code(hextokeycode((unicode >> i) & 0xF));
unregister_code(hextokeycode((unicode >> i) & 0xF));
}
unregister_code(KC_LALT);
}
开发者ID:2k0ri,项目名称:qmk_firmware,代码行数:17,代码来源:keymap.c
示例5: switch
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id)
{
case F_PASTE:
if (record->event.pressed)
{
register_code(KC_LCTL);
register_code(KC_V);
unregister_code(KC_V);
unregister_code(KC_LCTL);
}
break;
case RGB_ANI:
if (record->event.pressed)
{
rgb_timer = timer_read();
}
else
{
if (timer_elapsed(rgb_timer) > 300)
{
rgblight_mode(1);
}
else
{
rgblight_step();
}
}
case CF_EPRM:
if (record->event.pressed)
{
eeconfig_init();
}
return false;
break;
case CF_VERS:
if (record->event.pressed)
{
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
}
return false;
break;
}
return MACRO_NONE;
};
开发者ID:berfarah,项目名称:qmk_firmware,代码行数:46,代码来源:keymap.c
示例6: switch
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch(id) {
case _QWERTY:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_NOTE_ARRAY(tone_qwerty, false, 0);
#endif
persistant_default_layer_set(1UL<<_QWERTY);
}
break;
case _COLEMAK:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_NOTE_ARRAY(tone_colemak, false, 0);
#endif
persistant_default_layer_set(1UL<<_COLEMAK);
}
break;
case _DVORAK:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_NOTE_ARRAY(tone_dvorak, false, 0);
#endif
persistant_default_layer_set(1UL<<_DVORAK);
}
break;
case _LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
break;
case _RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
break;
case M_BL:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
break;
}
return MACRO_NONE;
};
开发者ID:BeatVids,项目名称:qmk_firmware,代码行数:58,代码来源:keymap.c
示例7: process_record_user
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case MOVE:
if (record->event.pressed) {
layer_on(_MOVE);
update_tri_layer(_MOVE, _SYMB, _FUNC);
} else {
layer_off(_MOVE);
update_tri_layer(_MOVE, _SYMB, _FUNC);
}
return false;
break;
case SYMB:
if (record->event.pressed) {
layer_on(_SYMB);
update_tri_layer(_MOVE, _SYMB, _FUNC);
} else {
layer_off(_SYMB);
update_tri_layer(_MOVE, _SYMB, _FUNC);
}
return false;
break;
case FUNC:
if (record->event.pressed) {
layer_on(_FUNC);
} else {
layer_off(_FUNC);
}
return false;
break;
case LOCK:
if (record->event.pressed) {
register_code(KC_RSFT);
register_code(KC_RCTL);
register_code(KC_POWER);
} else {
unregister_code(KC_POWER);
unregister_code(KC_RCTL);
unregister_code(KC_RSFT);
}
return false;
break;
}
return true;
}
开发者ID:CommandLineDesign,项目名称:qmk_firmware,代码行数:45,代码来源:keymap.c
示例8: switch
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
switch (id) {
case MACRO_COPY_CUT:
if (record->event.pressed) {
register_code(KC_LCTL);
if (record->tap.count == 1) {
register_code(KC_C);
unregister_code(KC_C);
}
else if (record->tap.count == 2) {
register_code(KC_X);
unregister_code(KC_X);
}
unregister_code(KC_LCTL);
}
break;
case MACRO_SHIFT_CONTROL:
if (record->event.pressed) {
if (record->tap.count <= 2) register_mods(MOD_BIT(KC_LSFT));
if (record->tap.count == 2) register_mods(MOD_BIT(KC_LCTL));
if (record->tap.count == 3) register_code(KC_PENT);;
}
else {
unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL));
unregister_code(KC_PENT);
}
break;
case MACRO_CONTROL_ALT:
if (record->event.pressed) {
if (record->tap.count < 2) register_mods(MOD_BIT(KC_LCTL));
if (record->tap.count >= 2) register_mods(MOD_BIT(KC_LALT));
}
else {
unregister_mods(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LALT));
}
break;
}
return MACRO_NONE;
}
开发者ID:2k0ri,项目名称:qmk_firmware,代码行数:45,代码来源:keymap.c
示例9: toggle_steno
void toggle_steno(int pressed)
{
uint8_t layer = biton32(layer_state);
if (pressed) {
if (layer != STEN) layer_on(STEN); else layer_off(STEN);
register_code(PV_LS);
register_code(PV_LH);
register_code(PV_RF);
register_code(PV_RT);
} else {
unregister_code(PV_LS);
unregister_code(PV_LH);
unregister_code(PV_RF);
unregister_code(PV_RT);
}
}
开发者ID:CastellaFactory,项目名称:qmk_firmware,代码行数:18,代码来源:keymap.c
示例10: ccopy
void ccopy(qk_tap_dance_state_t *state, void *user_data)
{
if (state->count > 1)
{
register_code(KC_LCTL);
register_code(KC_X);
unregister_code(KC_X);
unregister_code(KC_LCTL);
}
else
{
register_code(KC_LCTL);
register_code(KC_C);
unregister_code(KC_C);
unregister_code(KC_LCTL);
}
reset_tap_dance(state);
}
开发者ID:berfarah,项目名称:qmk_firmware,代码行数:18,代码来源:keymap.c
示例11: findreplace
void findreplace(qk_tap_dance_state_t *state, void *user_data)
{
if (state->count > 1)
{
register_code(KC_LCTL);
register_code(KC_H);
unregister_code(KC_H);
unregister_code(KC_LCTL);
}
else
{
register_code(KC_LCTL);
register_code(KC_F);
unregister_code(KC_F);
unregister_code(KC_LCTL);
}
reset_tap_dance(state);
}
开发者ID:berfarah,项目名称:qmk_firmware,代码行数:18,代码来源:keymap.c
示例12: dance_super_done
void dance_super_done(qk_tap_dance_state_t *state, void *user_data){ // Called on timeout
switch(state->count){
case 2:
register_code(KC_LGUI);
tap(KC_L);
unregister_code(KC_LGUI);
break;
}
}
开发者ID:Talljoe,项目名称:qmk_firmware,代码行数:9,代码来源:zach_common_functions.c
示例13: special_mods
// Function for the special modifiers actions below, makes it cleaner and yields smaller firmware.
static bool special_mods(uint16_t keycode, keyrecord_t *record, uint16_t modifier) {
if (record->event.pressed && (keyboard_report->mods & MOD_BIT(modifier))) {
register_code(keycode);
return false;
} else {
unregister_code(keycode);
return true;
}
}
开发者ID:0xdec,项目名称:qmk_firmware,代码行数:10,代码来源:keymap.c
示例14: process_record_user
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
#ifdef KEYBOARD_planck_rev5
PORTE &= ~(1<<6);
#endif
} else {
unregister_code(KC_RSFT);
#ifdef KEYBOARD_planck_rev5
PORTE |= (1<<6);
#endif
}
return false;
break;
case PLOVER:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
#endif
layer_off(_CUSTOM);
layer_off(_RAISE);
layer_off(_LOWER);
layer_off(_ADJUST);
layer_on(_PLOVER);
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
keymap_config.raw = eeconfig_read_keymap();
keymap_config.nkro = 1;
eeconfig_update_keymap(keymap_config.raw);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
return false;
break;
}
return true;
}
开发者ID:david-pitty,项目名称:planck_layout,代码行数:57,代码来源:keymap.c
示例15: process_record_user
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
PORTE &= ~(1<<6);
} else {
unregister_code(KC_RSFT);
PORTE |= (1<<6);
}
return false;
break;
}
return true;
};
开发者ID:20lives,项目名称:qmk_firmware,代码行数:56,代码来源:keymap.c
示例16: process_record_user
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(tone_qwerty);
#endif
persistant_default_layer_set(1UL<<_QWERTY);
}
return false;
break;
case GAME:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(music_scale);
#endif
persistant_default_layer_set(1UL<<_GAME);
}
return false;
break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
return false;
break;
}
return true;
}
开发者ID:ScrelliCopter,项目名称:qmk_firmware,代码行数:56,代码来源:keymap.c
示例17: tap_space_spam_finished
void tap_space_spam_finished(qk_tap_dance_state_t *state, void *user_data) {
if(get_mods() & (MOD_BIT(KC_LGUI))){
return;
}
if(state->pressed){
spam_space = true;
}
register_code(KC_SPC);
unregister_code(KC_SPC);
}
开发者ID:0xdec,项目名称:qmk_firmware,代码行数:10,代码来源:keymap.c
示例18: matrix_scan_user
void matrix_scan_user() {
for (uint8_t index = 0 ; index < TH_EVENTS_COUNT ; ++index ) {
tap_hold_t *th_event = &th_events[index];
if ( th_event->is_pressed && timer_elapsed(th_event->timer) > LONGPRESS_DELAY) {
register_code(th_event->kc_hold);
unregister_code(th_event->kc_hold);
th_event->is_pressed = false;
}
}
}
开发者ID:0tsuki,项目名称:qmk_firmware,代码行数:10,代码来源:keymap.c
示例19: _td_dot_tg_finished
//TD dot to toggle layer 2
void _td_dot_tg_finished (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
register_code(KC_DOT);
} else if (state->count == 2) {
backlight_set(1);
layer_on(_L2);
layer_off(_L1);
layer_off(_L3);
}
}
开发者ID:ScrelliCopter,项目名称:qmk_firmware,代码行数:11,代码来源:keymap.c
示例20: send_string
void send_string(const char *str) {
while (1) {
uint8_t keycode;
uint8_t ascii_code = pgm_read_byte(str);
if (!ascii_code) break;
keycode = pgm_read_byte(&ascii_to_qwerty_keycode_lut[ascii_code]);
if (pgm_read_byte(&ascii_to_qwerty_shift_lut[ascii_code])) {
register_code(KC_LSFT);
register_code(keycode);
unregister_code(keycode);
unregister_code(KC_LSFT);
}
else {
register_code(keycode);
unregister_code(keycode);
}
++str;
}
}
开发者ID:SmackleFunky,项目名称:qmk_firmware,代码行数:19,代码来源:quantum.c
注:本文中的register_code函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论