随机按键
This commit is contained in:
@@ -1 +1 @@
|
||||
35af5b6a4bbd88a56ee30606a679d127 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/my_usb_project.bin
|
||||
9b4946c83183965c8ab46347e0ecc8c8 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/my_usb_project.bin
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
380d7e9130133af64c969aa2dae836ffda8794ce
|
||||
a69243c2acd34a48bbd8f90d2d729eb641ffe99e
|
||||
|
||||
@@ -244,3 +244,11 @@
|
||||
47 352 7972558478401734 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
11 79 7972560142496579 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
11 79 7972560142496579 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
31 199 7973144869121109 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
31 199 7973144869121109 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
19 127 7973157305218469 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
19 127 7973157305218469 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
24 699 7973167525274860 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
24 699 7973167525274860 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
28 310 7973168080001169 esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
28 310 7973168080001169 D:/Projects/trunk/JoyD/ESP32/my_usb_project/build/bootloader/esp-idf/esptool_py/CMakeFiles/bootloader_check_size 3e73059819fce7a4
|
||||
|
||||
@@ -3825,7 +3825,7 @@ build esp-idf/esp_bootloader_format/install/strip: phony esp-idf/esp_bootloader_
|
||||
build cmake_object_order_depends_target___idf_esp_app_format: phony || cmake_object_order_depends_target___idf_bootloader_support
|
||||
|
||||
build esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj: C_COMPILER____idf_esp_app_format_unscanned_ D$:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_app_format/esp_app_desc.c || cmake_object_order_depends_target___idf_esp_app_format
|
||||
DEFINES = -DESP_PLATFORM -DIDF_VER=\"v5.2.6-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -D PROJECT_NAME=\"my_usb_project\" -DPROJECT_VER=\"380d7e9-dirty\"
|
||||
DEFINES = -DESP_PLATFORM -DIDF_VER=\"v5.2.6-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -D PROJECT_NAME=\"my_usb_project\" -DPROJECT_VER=\"a69243c-dirty\"
|
||||
DEP_FILE = esp-idf\esp_app_format\CMakeFiles\__idf_esp_app_format.dir\esp_app_desc.c.obj.d
|
||||
FLAGS = -mlongcalls -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=D:/Projects/trunk/JoyD/ESP32/my_usb_project=. -fmacro-prefix-map=D:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration
|
||||
INCLUDES = -ID:/Projects/trunk/JoyD/ESP32/my_usb_project/build/config -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_app_format/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/newlib/platform_include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/config/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/config/include/freertos -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/config/xtensa/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/FreeRTOS-Kernel/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/freertos/esp_additions/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_hw_support/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_hw_support/include/soc -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_hw_support/include/soc/esp32s3 -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_hw_support/port/esp32s3/. -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/heap/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/log/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/soc/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/soc/esp32s3 -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/soc/esp32s3/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/hal/platform_port/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/hal/esp32s3/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/hal/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_rom/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_rom/include/esp32s3 -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_rom/esp32s3 -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_common/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_system/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_system/port/soc -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/esp_system/port/include/private -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/xtensa/esp32s3/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/xtensa/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/xtensa/deprecated_include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/include/apps -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/include/apps/sntp -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/lwip/src/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/port/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/port/freertos/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/port/esp32xx/include -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/port/esp32xx/include/arch -ID:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6/components/lwip/port/esp32xx/include/sys
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -571,6 +571,7 @@ SECTIONS
|
||||
} >default_rodata_seg
|
||||
. = ALIGN(0x10000);
|
||||
. = ALIGN(0x10000);
|
||||
. = ALIGN(0x10000);
|
||||
.flash.rodata : ALIGN(0x10)
|
||||
{
|
||||
_flash_rodata_start = ABSOLUTE(.);
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -26397,6 +26397,7 @@ LOAD D:/DiskC/ProgramFiles/Espressif/tools/xtensa-esp-elf/esp-13.2.0_20250707/xt
|
||||
*(.rodata_custom_desc .rodata_custom_desc.*)
|
||||
0x3c020120 . = ALIGN (ALIGNOF (.flash.rodata))
|
||||
0x3c030000 . = ALIGN (0x10000)
|
||||
0x3c030000 . = ALIGN (0x10000)
|
||||
|
||||
.flash.rodata 0x3c020120 0xb7a8
|
||||
0x3c020120 _flash_rodata_start = ABSOLUTE (.)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "1.2",
|
||||
"project_name": "my_usb_project",
|
||||
"project_version": "380d7e9-dirty",
|
||||
"project_version": "a69243c-dirty",
|
||||
"project_path": "D:/Projects/trunk/JoyD/ESP32/my_usb_project",
|
||||
"idf_path": "D:/DiskC/ProgramFiles/Espressif/frameworks/esp-idf-v5.2.6",
|
||||
"build_dir": "D:/Projects/trunk/JoyD/ESP32/my_usb_project/build",
|
||||
|
||||
@@ -29,16 +29,21 @@ extern "C" {
|
||||
#[no_mangle]
|
||||
extern "C" fn rust_app_main() {
|
||||
// 初始化代码
|
||||
send_a_key();
|
||||
return;
|
||||
loop {
|
||||
send_random_key();
|
||||
// 等待 5 秒
|
||||
unsafe {
|
||||
rust_vTaskDelay(5000 * PD_MS_TO_TICKS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[export_name = "rust_usb_callback"]
|
||||
pub unsafe extern "C" fn usb_callback(_event: u32) {
|
||||
}
|
||||
|
||||
/// 发送 A 键的按键事件
|
||||
fn send_a_key() {
|
||||
/// 发送 A-Z 随机键的按键事件
|
||||
fn send_random_key() {
|
||||
// 等待 USB 设备挂载
|
||||
let mut mounted = false;
|
||||
for _ in 0..10 {
|
||||
@@ -55,8 +60,12 @@ fn send_a_key() {
|
||||
}
|
||||
|
||||
if mounted {
|
||||
// 发送 A 键按下事件
|
||||
let keycode = [HID_KEY_A, 0, 0, 0, 0, 0];
|
||||
// 生成随机的 A-Z 键码
|
||||
let random_value = get_random_u32() % 26;
|
||||
let random_key = HID_KEY_A + (random_value as u8);
|
||||
|
||||
// 发送随机键按下事件
|
||||
let keycode = [random_key, 0, 0, 0, 0, 0];
|
||||
unsafe {
|
||||
rust_send_keyboard_report(REPORT_ID_KEYBOARD, 0, keycode.as_ptr());
|
||||
}
|
||||
@@ -66,10 +75,20 @@ fn send_a_key() {
|
||||
rust_vTaskDelay(50 * PD_MS_TO_TICKS);
|
||||
}
|
||||
|
||||
// 发送 A 键释放事件
|
||||
// 发送随机键释放事件
|
||||
let keycode = [0, 0, 0, 0, 0, 0];
|
||||
unsafe {
|
||||
rust_send_keyboard_report(REPORT_ID_KEYBOARD, 0, keycode.as_ptr());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// 获取随机数
|
||||
fn get_random_u32() -> u32 {
|
||||
// 使用简单的线性同余生成器
|
||||
static mut SEED: u32 = 42;
|
||||
unsafe {
|
||||
SEED = SEED.wrapping_mul(1103515245).wrapping_add(12345);
|
||||
SEED
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user