Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

different vendor and product IDs #15

Open
rompetroll opened this issue Feb 18, 2022 · 10 comments
Open

different vendor and product IDs #15

rompetroll opened this issue Feb 18, 2022 · 10 comments

Comments

@rompetroll
Copy link

My Anne Pro 2 (norwegian keys) has these ids:

HID Dev: 3311:a297 usage #: 00 usage_page #: 0000 Some("HEXCORE\nANNEPRO2 ISO")

Had to update the constants in code to get the keyboard recognized, should probably be a flag or something.

@rompetroll
Copy link
Author

should mention that after flashing the tick (') and enter are swapped using the default qmk layout. so there is likely some variation in production for ISO units

@excely
Copy link

excely commented Feb 26, 2022

did you change the constant to 3311 or a297

@rompetroll
Copy link
Author

both are different constants
image

@Johns-Q
Copy link

Johns-Q commented Aug 12, 2022

Here is a patch for an automatic AnnePro2 ISO support.

diff --git a/src/annepro2.rs b/src/annepro2.rs
index e341d5f..16dbba4 100644
--- a/src/annepro2.rs
+++ b/src/annepro2.rs
@@ -2,9 +2,11 @@ use hidapi::{HidApi, HidDevice, HidResult};
 use std::intrinsics::transmute;
 
 const ANNEPRO2_VID: u16 = 0x04d9;
+const ANNEPRO2_ISO_VID: u16 = 0x3311;
 
 const PID_C15: u16 = 0x8008;
 const PID_C18: u16 = 0x8009;
+const PID_ISO_C18: u16 = 0xA297;
 
 #[repr(u8)]
 #[derive(Debug, Copy, Clone)]
@@ -72,9 +74,11 @@ pub fn flash_firmware<R: std::io::Read>(
             let dev = api
                 .device_list()
                 .find(|dev| {
-                    dev.vendor_id() == ANNEPRO2_VID
+                    (dev.vendor_id() == ANNEPRO2_VID
                         && ((dev.product_id() == PID_C15 && dev.interface_number() == 1)
-                            || (dev.product_id() == PID_C18))
+                            || (dev.product_id() == PID_C18)))
+                    || (dev.vendor_id() == ANNEPRO2_ISO_VID
+                        && (dev.product_id() == PID_ISO_C18))
                 })
                 .expect("No device found. Please remind to put the device into IAP Mode");

If wanted, i can make a pull request.

@bizli0618
Copy link

Hello, I tried the last comment, but it didn't work. I'm working on windows 11, and I almost followed the instruction with this link.
https://www.youtube.com/watch?v=6KJGOEEV794
annepro2_tools_issue

As you can see, mine seems to have a vendor of 3311 and product ID of a298.

@Codetector1374
Copy link
Contributor

Codetector1374 commented Aug 23, 2023 via email

@bizli0618
Copy link

Sorry for not attaching the picture, but I bought it from here.(Anne pro 2 discovery) Does it differ from original anne pro 2?
https://hexcore.store/products/anne-pro-2d

@Codetector1374
Copy link
Contributor

Codetector1374 commented Aug 23, 2023 via email

@bizli0618
Copy link

Sorry for the confusion!! And thanks, I found other software.

@ghost
Copy link

ghost commented Nov 23, 2023

Sorry for the confusion!! And thanks, I found other software.

Can you provide the link?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants