Fix some casting issues on stable
This commit is contained in:
parent
66887f5771
commit
6ba2f72dbf
1 changed files with 12 additions and 12 deletions
24
src/lib.rs
24
src/lib.rs
|
@ -741,7 +741,7 @@ impl Device {
|
||||||
let mut bits64: u64 = 0;
|
let mut bits64: u64 = 0;
|
||||||
let mut vec = Vec::with_capacity(256);
|
let mut vec = Vec::with_capacity(256);
|
||||||
|
|
||||||
do_ioctl!(eviocgbit(*fd, 0, 4, &mut bits as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, 0, 4, &mut bits as *mut u32 as *mut u8));
|
||||||
dev.ty = Types::from_bits(bits).expect("evdev: unexpected type bits! report a bug");
|
dev.ty = Types::from_bits(bits).expect("evdev: unexpected type bits! report a bug");
|
||||||
|
|
||||||
let dev_len = do_ioctl!(eviocgname(*fd, vec.as_mut_ptr(), 255));
|
let dev_len = do_ioctl!(eviocgname(*fd, vec.as_mut_ptr(), 255));
|
||||||
|
@ -768,7 +768,7 @@ impl Device {
|
||||||
((driver_version >> 8) & 0xff) as u8,
|
((driver_version >> 8) & 0xff) as u8,
|
||||||
(driver_version & 0xff) as u8);
|
(driver_version & 0xff) as u8);
|
||||||
|
|
||||||
do_ioctl!(eviocgprop(*fd, &mut bits as *mut _ as *mut u8, 0x1f)); // FIXME: handle old kernel
|
do_ioctl!(eviocgprop(*fd, &mut bits as *mut u32 as *mut u8, 0x1f)); // FIXME: handle old kernel
|
||||||
dev.props = Props::from_bits(bits).expect("evdev: unexpected prop bits! report a bug");
|
dev.props = Props::from_bits(bits).expect("evdev: unexpected prop bits! report a bug");
|
||||||
|
|
||||||
if dev.ty.contains(KEY) {
|
if dev.ty.contains(KEY) {
|
||||||
|
@ -776,36 +776,36 @@ impl Device {
|
||||||
}
|
}
|
||||||
|
|
||||||
if dev.ty.contains(RELATIVE) {
|
if dev.ty.contains(RELATIVE) {
|
||||||
do_ioctl!(eviocgbit(*fd, RELATIVE.number(), 0xf, &mut bits as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, RELATIVE.number(), 0xf, &mut bits as *mut u32 as *mut u8));
|
||||||
dev.rel = RelativeAxis::from_bits(bits).expect("evdev: unexpected rel bits! report a bug");
|
dev.rel = RelativeAxis::from_bits(bits).expect("evdev: unexpected rel bits! report a bug");
|
||||||
}
|
}
|
||||||
|
|
||||||
if dev.ty.contains(ABSOLUTE) {
|
if dev.ty.contains(ABSOLUTE) {
|
||||||
do_ioctl!(eviocgbit(*fd, ABSOLUTE.number(), 0x3f, &mut bits64 as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, ABSOLUTE.number(), 0x3f, &mut bits64 as *mut u64 as *mut u8));
|
||||||
println!("abs bits: {:b}", bits64);
|
println!("abs bits: {:b}", bits64);
|
||||||
dev.abs = AbsoluteAxis::from_bits(bits64).expect("evdev: unexpected abs bits! report a bug");
|
dev.abs = AbsoluteAxis::from_bits(bits64).expect("evdev: unexpected abs bits! report a bug");
|
||||||
dev.state.abs_vals = vec![ioctl::input_absinfo::default(); 0x3f];
|
dev.state.abs_vals = vec![ioctl::input_absinfo::default(); 0x3f];
|
||||||
}
|
}
|
||||||
|
|
||||||
if dev.ty.contains(SWITCH) {
|
if dev.ty.contains(SWITCH) {
|
||||||
do_ioctl!(eviocgbit(*fd, SWITCH.number(), 0xf, &mut bits as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, SWITCH.number(), 0xf, &mut bits as *mut u32 as *mut u8));
|
||||||
dev.switch = Switch::from_bits(bits).expect("evdev: unexpected switch bits! report a bug");
|
dev.switch = Switch::from_bits(bits).expect("evdev: unexpected switch bits! report a bug");
|
||||||
}
|
}
|
||||||
|
|
||||||
if dev.ty.contains(LED) {
|
if dev.ty.contains(LED) {
|
||||||
do_ioctl!(eviocgbit(*fd, LED.number(), 0xf, &mut bits as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, LED.number(), 0xf, &mut bits as *mut u32 as *mut u8));
|
||||||
dev.led = Led::from_bits(bits).expect("evdev: unexpected led bits! report a bug");
|
dev.led = Led::from_bits(bits).expect("evdev: unexpected led bits! report a bug");
|
||||||
}
|
}
|
||||||
|
|
||||||
if dev.ty.contains(MISC) {
|
if dev.ty.contains(MISC) {
|
||||||
do_ioctl!(eviocgbit(*fd, MISC.number(), 0x7, &mut bits as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, MISC.number(), 0x7, &mut bits as *mut u32 as *mut u8));
|
||||||
dev.misc = Misc::from_bits(bits).expect("evdev: unexpected misc bits! report a bug");
|
dev.misc = Misc::from_bits(bits).expect("evdev: unexpected misc bits! report a bug");
|
||||||
}
|
}
|
||||||
|
|
||||||
//do_ioctl!(eviocgbit(*fd, ffs(FORCEFEEDBACK.bits()), 0x7f, &mut bits as *mut _ as *mut u8));
|
//do_ioctl!(eviocgbit(*fd, ffs(FORCEFEEDBACK.bits()), 0x7f, &mut bits as *mut u32 as *mut u8));
|
||||||
|
|
||||||
if dev.ty.contains(SOUND) {
|
if dev.ty.contains(SOUND) {
|
||||||
do_ioctl!(eviocgbit(*fd, SOUND.number(), 0x7, &mut bits as *mut _ as *mut u8));
|
do_ioctl!(eviocgbit(*fd, SOUND.number(), 0x7, &mut bits as *mut u32 as *mut u8));
|
||||||
dev.snd = Sound::from_bits(bits).expect("evdev: unexpected sound bits! report a bug");
|
dev.snd = Sound::from_bits(bits).expect("evdev: unexpected sound bits! report a bug");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -820,7 +820,7 @@ impl Device {
|
||||||
/// If there is an error at any point, the state will not be synchronized completely.
|
/// If there is an error at any point, the state will not be synchronized completely.
|
||||||
pub fn sync_state(&mut self) -> Result<(), Error> {
|
pub fn sync_state(&mut self) -> Result<(), Error> {
|
||||||
if self.ty.contains(KEY) {
|
if self.ty.contains(KEY) {
|
||||||
do_ioctl!(eviocgkey(self.fd, self.state.key_vals.as_mut_slice().as_mut_ptr() as *mut _ as *mut u8, self.state.key_vals.len()));
|
do_ioctl!(eviocgkey(self.fd, self.state.key_vals.as_mut_slice().as_mut_ptr() as *mut u32 as *mut u8, self.state.key_vals.len()));
|
||||||
}
|
}
|
||||||
if self.ty.contains(ABSOLUTE) {
|
if self.ty.contains(ABSOLUTE) {
|
||||||
for idx in (0..0x28) {
|
for idx in (0..0x28) {
|
||||||
|
@ -832,10 +832,10 @@ impl Device {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if self.ty.contains(SWITCH) {
|
if self.ty.contains(SWITCH) {
|
||||||
do_ioctl!(eviocgsw(self.fd, &mut self.state.switch_vals.as_mut_slice().as_mut_ptr() as *mut _ as *mut u8, self.state.switch_vals.len()));
|
do_ioctl!(eviocgsw(self.fd, self.state.switch_vals.as_mut_slice().as_mut_ptr() as *mut u32 as *mut u8, self.state.switch_vals.len()));
|
||||||
}
|
}
|
||||||
if self.ty.contains(LED) {
|
if self.ty.contains(LED) {
|
||||||
do_ioctl!(eviocgled(self.fd, &mut self.state.led_vals.as_mut_slice().as_mut_ptr() as *mut _ as *mut u8, self.state.led_vals.len()));
|
do_ioctl!(eviocgled(self.fd, self.state.led_vals.as_mut_slice().as_mut_ptr() as *mut u32 as *mut u8, self.state.led_vals.len()));
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
Loading…
Reference in a new issue