improvements
This commit is contained in:
+11
-12
@@ -7,6 +7,7 @@ use windows::Win32::UI::Input::KeyboardAndMouse::{
|
||||
pub const INTERVAL: Duration = Duration::from_secs(60);
|
||||
const VK_NUMPAD4: u8 = 0x64;
|
||||
const VK_NUMPAD6: u8 = 0x66;
|
||||
const PRESS_KEYS: [u8; 2] = [VK_NUMPAD4, VK_NUMPAD6];
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AntiAfk {
|
||||
@@ -25,30 +26,28 @@ impl Default for AntiAfk {
|
||||
|
||||
impl AntiAfk {
|
||||
pub fn activate(&mut self) {
|
||||
if util::is_window_focused(GTA_WINDOW_TITLE)
|
||||
&& !util::is_key_pressed(VK_NUMPAD4 as i32)
|
||||
&& !util::is_key_pressed(VK_NUMPAD6 as i32)
|
||||
if util::win::is_window_focused(GTA_WINDOW_TITLE)
|
||||
&& !util::win::is_any_key_pressed(&PRESS_KEYS)
|
||||
{
|
||||
send(VK_NUMPAD4);
|
||||
send(VK_NUMPAD6);
|
||||
send(&PRESS_KEYS);
|
||||
}
|
||||
self.interval = Instant::now();
|
||||
}
|
||||
}
|
||||
|
||||
pub fn send(vk_code: u8) {
|
||||
unsafe {
|
||||
pub fn send(vk_codes: &[u8]) {
|
||||
vk_codes.iter().for_each(|vk_code: &u8| unsafe {
|
||||
keybd_event(
|
||||
vk_code,
|
||||
u8::try_from(MapVirtualKeyW(u32::from(vk_code), MAP_VIRTUAL_KEY_TYPE(0))).unwrap(),
|
||||
*vk_code,
|
||||
u8::try_from(MapVirtualKeyW(u32::from(*vk_code), MAP_VIRTUAL_KEY_TYPE(0))).unwrap(),
|
||||
KEYBD_EVENT_FLAGS(0),
|
||||
0,
|
||||
);
|
||||
keybd_event(
|
||||
vk_code,
|
||||
u8::try_from(MapVirtualKeyW(u32::from(vk_code), MAP_VIRTUAL_KEY_TYPE(0))).unwrap(),
|
||||
*vk_code,
|
||||
u8::try_from(MapVirtualKeyW(u32::from(*vk_code), MAP_VIRTUAL_KEY_TYPE(0))).unwrap(),
|
||||
KEYBD_EVENT_FLAGS(2),
|
||||
0,
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user