48 lines
1.3 KiB
HolyC
48 lines
1.3 KiB
HolyC
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);
|