2019-12-02 14:27:11 +01:00
|
|
|
#include "vkvm.hpp"
|
|
|
|
#include <iostream>
|
|
|
|
#include <unistd.h>
|
|
|
|
#include "internal.hpp"
|
2019-12-12 11:59:07 +01:00
|
|
|
#include "../src/Terminal.h"
|
2019-12-02 14:27:11 +01:00
|
|
|
|
2019-10-16 16:44:09 +02:00
|
|
|
|
|
|
|
int main() {
|
2019-12-02 14:27:11 +01:00
|
|
|
vkvm::initialize(0);
|
|
|
|
|
2019-12-12 11:59:07 +01:00
|
|
|
Terminal terminal = Terminal();
|
|
|
|
|
|
|
|
vkvm::registerEvent(vkvm::KeyDown, [&terminal]() {
|
|
|
|
vkvm::KeyCode keycode = vkvm::getLastPressedKey();
|
|
|
|
std::cout << keycode << std::endl;
|
|
|
|
|
|
|
|
if(((vkvm::KeyCode::ShiftLeft & 0xfff) == keycode) ||((vkvm::KeyCode::ShiftRight & 0xfff) == keycode)){
|
|
|
|
terminal.shiftpressed();
|
|
|
|
}
|
|
|
|
|
|
|
|
if(((vkvm::KeyCode::Zero & 0xfff) <= keycode) && (keycode <= (vkvm::Nine & 0xfff))){
|
|
|
|
char ch = keycode - (vkvm::KeyCode::Zero & 0xfff) + '0';
|
|
|
|
std::cout << ch << std::endl;
|
|
|
|
terminal.setString(ch);
|
|
|
|
vkvm::setText(terminal.getString());
|
|
|
|
std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
vkvm::callEvent(vkvm::EventType::RenderText);
|
|
|
|
}
|
|
|
|
|
|
|
|
if(((vkvm::KeyCode::A & 0xfff) <= keycode) && (keycode <= (vkvm::KeyCode::Z & 0xfff))){
|
|
|
|
int status = terminal.getstatus();
|
|
|
|
char ch;
|
|
|
|
if(status == 0){
|
|
|
|
ch = keycode - (vkvm::KeyCode::A & 0xfff) + 'a';
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
ch = keycode - (vkvm::KeyCode::A & 0xfff) + 'A';
|
|
|
|
}
|
|
|
|
std::cout << ch << std::endl;
|
|
|
|
terminal.setString(ch);
|
|
|
|
vkvm::setText(terminal.getString());
|
|
|
|
std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
vkvm::callEvent(vkvm::EventType::RenderText);
|
|
|
|
}
|
|
|
|
|
|
|
|
if((vkvm::KeyCode::Space & 0xfff) == keycode){
|
|
|
|
char ch = keycode - (vkvm::KeyCode::Space & 0xfff) + ' ';
|
|
|
|
std::cout << ch << std::endl;
|
|
|
|
terminal.setString(ch);
|
|
|
|
vkvm::setText(terminal.getString());
|
|
|
|
std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
vkvm::callEvent(vkvm::EventType::RenderText);
|
|
|
|
}
|
|
|
|
|
|
|
|
if((vkvm::KeyCode::Backspace & 0xfff) == keycode){
|
|
|
|
char ch = keycode - (vkvm::KeyCode::Backspace & 0xfff) + ' ';
|
|
|
|
std::cout << ch << std::endl;
|
|
|
|
terminal.subString();
|
|
|
|
vkvm::setText(terminal.getString());
|
|
|
|
std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
vkvm::callEvent(vkvm::EventType::RenderText);
|
|
|
|
}
|
|
|
|
|
|
|
|
if((vkvm::KeyCode::Tab & 0xfff) == keycode){
|
|
|
|
char ch = keycode - (vkvm::KeyCode::Tab & 0xfff) + ' ';
|
|
|
|
for(int i = 0; i < 3; i++) {
|
|
|
|
std::cout << ch << std::endl;
|
|
|
|
terminal.setString(ch);
|
|
|
|
}
|
|
|
|
vkvm::setText(terminal.getString());
|
|
|
|
std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
vkvm::callEvent(vkvm::EventType::RenderText);
|
|
|
|
}
|
|
|
|
|
|
|
|
if((vkvm::KeyCode::Enter & 0xfff) == keycode){
|
|
|
|
char ch = '\n';
|
|
|
|
std::cout << ch << std::endl;
|
|
|
|
terminal.setString(ch);
|
|
|
|
vkvm::setText(terminal.getString());
|
|
|
|
std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
vkvm::callEvent(vkvm::EventType::RenderText);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
vkvm::registerEvent(vkvm::KeyUp, [&terminal]() {
|
|
|
|
vkvm::KeyCode keycode = vkvm::getLastPressedKey();
|
|
|
|
if(((vkvm::KeyCode::ShiftLeft & 0xfff) == keycode) ||((vkvm::KeyCode::ShiftRight & 0xfff) == keycode)){
|
|
|
|
terminal.shiftup();
|
|
|
|
}
|
|
|
|
// char ch = keycode - (vkvm::KeyCode::A & 0xfff) + 'A';
|
|
|
|
// std::cout << ch << std::endl;
|
|
|
|
// terminal.setString(ch);
|
|
|
|
// vkvm::setText(terminal.getString());
|
|
|
|
// std::cout<< vkvm::getText()<< std::endl;
|
|
|
|
// vkvm::callEvent(vkvm::EventType::RenderText);
|
2019-12-02 14:46:30 +01:00
|
|
|
});
|
2019-12-12 11:59:07 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while(1){
|
|
|
|
sleep(0.1);
|
2019-12-02 14:27:11 +01:00
|
|
|
}
|
2019-10-16 16:44:09 +02:00
|
|
|
}
|