mirror of
https://github.com/JanNeuendorf/SVC16.git
synced 2025-06-06 19:45:27 +00:00
Implemented additional input codes in the emulator
This commit is contained in:
parent
d7740c2e4e
commit
09a4d5157d
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -553,7 +553,7 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "svc16"
|
name = "svc16"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "svc16"
|
name = "svc16"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Jan Neuendorf"]
|
authors = ["Jan Neuendorf"]
|
||||||
description = "An emulator for a simple virtual computer"
|
description = "An emulator for a simple virtual computer"
|
||||||
|
23
src/main.rs
23
src/main.rs
@ -90,15 +90,30 @@ fn get_input_code(window: &Window) -> (u16, u16) {
|
|||||||
let mp = window.get_mouse_pos(minifb::MouseMode::Clamp).unwrap();
|
let mp = window.get_mouse_pos(minifb::MouseMode::Clamp).unwrap();
|
||||||
let pos_code = mp.1 as u16 * 256 + mp.0 as u16;
|
let pos_code = mp.1 as u16 * 256 + mp.0 as u16;
|
||||||
let mut key_code = 0_u16;
|
let mut key_code = 0_u16;
|
||||||
if window.get_mouse_down(minifb::MouseButton::Left)
|
if window.get_mouse_down(minifb::MouseButton::Left) || window.is_key_down(Key::Space) {
|
||||||
|| window.is_key_down(Key::A)
|
|
||||||
|| window.is_key_down(Key::Space)
|
|
||||||
{
|
|
||||||
key_code += 1;
|
key_code += 1;
|
||||||
}
|
}
|
||||||
if window.get_mouse_down(minifb::MouseButton::Right) || window.is_key_down(Key::B) {
|
if window.get_mouse_down(minifb::MouseButton::Right) || window.is_key_down(Key::B) {
|
||||||
key_code += 2;
|
key_code += 2;
|
||||||
}
|
}
|
||||||
|
if window.is_key_down(Key::Up) || window.is_key_down(Key::W) {
|
||||||
|
key_code += 4;
|
||||||
|
}
|
||||||
|
if window.is_key_down(Key::Down) || window.is_key_down(Key::S) {
|
||||||
|
key_code += 8;
|
||||||
|
}
|
||||||
|
if window.is_key_down(Key::Left) || window.is_key_down(Key::A) {
|
||||||
|
key_code += 16;
|
||||||
|
}
|
||||||
|
if window.is_key_down(Key::Right) || window.is_key_down(Key::D) {
|
||||||
|
key_code += 32;
|
||||||
|
}
|
||||||
|
if window.is_key_down(Key::N) {
|
||||||
|
key_code += 64;
|
||||||
|
}
|
||||||
|
if window.is_key_down(Key::M) {
|
||||||
|
key_code += 128;
|
||||||
|
}
|
||||||
|
|
||||||
(pos_code, key_code)
|
(pos_code, key_code)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user