Undo some changes

This commit is contained in:
Jeremy Soller
2020-04-20 11:23:15 -06:00
parent 255e5fcb68
commit a6dbe788f6
2 changed files with 9 additions and 10 deletions
+3 -3
View File
@@ -76,9 +76,9 @@ enum MouseCommandData {
}
pub struct Ps2 {
pub data: Pio<u8>,
pub status: ReadOnly<Pio<u8>>,
pub command: WriteOnly<Pio<u8>>
data: Pio<u8>,
status: ReadOnly<Pio<u8>>,
command: WriteOnly<Pio<u8>>
}
impl Ps2 {
+6 -7
View File
@@ -4,7 +4,6 @@ use std::io::Write;
use std::os::unix::io::AsRawFd;
use std::str;
use syscall;
use syscall::Io;
use crate::controller::Ps2;
use crate::vm;
@@ -83,13 +82,13 @@ impl<F: Fn(u8,bool) -> char> Ps2d<F> {
}
}
pub fn irq(&mut self, keyboard: bool) {
self.handle(keyboard, self.ps2.data.read());
pub fn irq(&mut self) {
while let Some((keyboard, data)) = self.ps2.next() {
self.handle(keyboard, data);
}
}
pub fn handle(&mut self, keyboard: bool, data: u8) {
println!("{}{:x}", if keyboard { 'k' } else { 'm' }, data);
if keyboard {
let (scancode, pressed) = if data >= 0x80 {
(data - 0x80, false)
@@ -175,7 +174,7 @@ impl<F: Fn(u8,bool) -> char> Ps2d<F> {
let flags = MousePacketFlags::from_bits_truncate(self.packets[0]);
if ! flags.contains(ALWAYS_ON) {
panic!("ps2d: mouse misalign {:X}", self.packets[0]);
println!("ps2d: mouse misalign {:X}", self.packets[0]);
self.packets = [0; 4];
self.packet_i = 0;
@@ -228,7 +227,7 @@ impl<F: Fn(u8,bool) -> char> Ps2d<F> {
}.to_event()).expect("ps2d: failed to write button event");
}
} else {
panic!("ps2d: overflow {:X} {:X} {:X} {:X}", self.packets[0], self.packets[1], self.packets[2], self.packets[3]);
println!("ps2d: overflow {:X} {:X} {:X} {:X}", self.packets[0], self.packets[1], self.packets[2], self.packets[3]);
}
self.packets = [0; 4];