U0 @saphir_key_nop() {} Bool @saphir_put_key(I64 ch, I64 sc) { if (sc & SCF_ALT && !(sc & SCF_CTRL)) { switch (ch) { case 0: switch (sc.u8[0]) { case SC_CURSOR_UP: @saphir_win_select(SAPHIR_WIN_UP); return TRUE; case SC_CURSOR_DOWN: @saphir_win_select(SAPHIR_WIN_DOWN); return TRUE; case SC_CURSOR_LEFT: @saphir_win_select(SAPHIR_WIN_LEFT); return TRUE; case SC_CURSOR_RIGHT: @saphir_win_select(SAPHIR_WIN_RIGHT); return TRUE; } break; case 'h': @saphir_split_horz; return TRUE; break; case 'v': @saphir_split_vert; return TRUE; break; } } return FALSE; } U64 @tos_fp_cbs_enabled = keydev.fp_ctrl_alt_cbs; // Save pointer to TempleOS system-wide (CTRL-ALT) // callbacks U64 @tos_fp_cbs_disabled = CAlloc(0xD0); keydev.fp_ctrl_alt_cbs = @tos_fp_cbs_disabled; // Disable TempleOS system-wide (CTRL-ALT) callbacks // FIXME: Ideally, we would add a new KeyDev here, but since we need to override // the HomeKeyPlugIns, we will need to patch MyKeyDev instead. // KeyDevAdd(&@saphir_put_key, &MyPutS, 0x10000000, // TRUE); // Enable Saphir keyboard shortcuts @function_patch(&MyPutKey, &@saphir_put_key);