no message
This commit is contained in:
parent
1241b43ea7
commit
dc8c10438b
|
@ -2615,6 +2615,35 @@ static void tick(Console* console)
|
|||
|
||||
tic_mem* tic = console->tic;
|
||||
|
||||
{
|
||||
if(isKeyWasDown(tic_key_up)) onHistoryUp(console);
|
||||
else if(isKeyWasDown(tic_key_down)) onHistoryDown(console);
|
||||
else if(isKeyWasDown(tic_key_left))
|
||||
{
|
||||
if(console->inputPosition > 0)
|
||||
console->inputPosition--;
|
||||
}
|
||||
else if(isKeyWasDown(tic_key_right))
|
||||
{
|
||||
console->inputPosition++;
|
||||
size_t len = strlen(console->inputBuffer);
|
||||
if(console->inputPosition > len)
|
||||
console->inputPosition = len;
|
||||
}
|
||||
else if(isKeyWasDown(tic_key_return)) processConsoleCommand(console);
|
||||
else if(isKeyWasDown(tic_key_backspace)) processConsoleBackspace(console);
|
||||
else if(isKeyWasDown(tic_key_delete)) processConsoleDel(console);
|
||||
else if(isKeyWasDown(tic_key_home)) processConsoleHome(console);
|
||||
else if(isKeyWasDown(tic_key_end)) processConsoleEnd(console);
|
||||
else if(isKeyWasDown(tic_key_tab)) processConsoleTab(console);
|
||||
|
||||
if(isAnyKeyWasDown())
|
||||
{
|
||||
scrollConsole(console);
|
||||
console->cursor.delay = CONSOLE_CURSOR_DELAY;
|
||||
}
|
||||
}
|
||||
|
||||
char sym = getKeyboardText();
|
||||
|
||||
if(sym)
|
||||
|
|
28
src/studio.c
28
src/studio.c
|
@ -51,6 +51,9 @@
|
|||
// #define OFFSET_TOP ((TIC80_FULLHEIGHT-TIC80_HEIGHT)/2)
|
||||
#define POPUP_DUR (TIC_FRAMERATE*2)
|
||||
|
||||
#define KEYBOARD_HOLD 20
|
||||
#define KEYBOARD_PERIOD 3
|
||||
|
||||
#if defined(TIC80_PRO)
|
||||
#define TIC_EDITOR_BANKS (TIC_BANKS)
|
||||
#else
|
||||
|
@ -329,19 +332,40 @@ char getKeyboardText()
|
|||
static const char Symbols[] = "abcdefghijklmnopqrstuvwxyz0123456789-=[]\\;'`,./ ";
|
||||
static const char Shift[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ)!@#$%^&*(_+{}|:\"~<>? ";
|
||||
|
||||
enum{Count = sizeof Symbols, Hold = 20, Period = 3};
|
||||
enum{Count = sizeof Symbols};
|
||||
|
||||
for(s32 i = 0; i < TIC80_KEY_BUFFER; i++)
|
||||
{
|
||||
tic_key key = tic->ram.input.keyboard.keys[i];
|
||||
|
||||
if(key > 0 && key < Count && tic->api.keyp(tic, key, Hold, Period))
|
||||
if(key > 0 && key < Count && tic->api.keyp(tic, key, KEYBOARD_HOLD, KEYBOARD_PERIOD))
|
||||
return tic->api.key(tic, tic_key_shift) ? Shift[key-1] : Symbols[key-1];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool isKeyWasDown(tic_key key)
|
||||
{
|
||||
tic_mem* tic = studioImpl.studio.tic;
|
||||
return tic->api.keyp(tic, key, KEYBOARD_HOLD, KEYBOARD_PERIOD);
|
||||
}
|
||||
|
||||
bool isAnyKeyWasDown()
|
||||
{
|
||||
tic_mem* tic = studioImpl.studio.tic;
|
||||
|
||||
for(s32 i = 0; i < TIC80_KEY_BUFFER; i++)
|
||||
{
|
||||
tic_key key = tic->ram.input.keyboard.keys[i];
|
||||
|
||||
if(tic->api.keyp(tic, key, KEYBOARD_HOLD, KEYBOARD_PERIOD))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
tic_tiles* getBankTiles()
|
||||
{
|
||||
return &studioImpl.studio.tic->cart.banks[studioImpl.bank.index.sprites].tiles;
|
||||
|
|
|
@ -209,3 +209,5 @@ void studioTick(void* pixels);
|
|||
void studioClose();
|
||||
|
||||
char getKeyboardText();
|
||||
bool isKeyWasDown(tic_key key);
|
||||
bool isAnyKeyWasDown();
|
||||
|
|
Loading…
Reference in New Issue