Comments (7)
Does it work with other keyboards? Maybe the NKRO stuff is messing with it's logic
On the bright side, I've measured infinitykb's power usage, it was at 0ma with the device I was using, so if you manage to make it work, the result will be satisfactory in terms of power usage :)
from controller.
You might be more successful if you set the keyboard in 6KRO mode.
There isn't an easy way (yet) from the configurator, but you can do:
U"A":kbdProtocolBoot();
This will set the boot protocol when you press a.
On Sat, May 30, 2015 at 6:44 PM kaansoral [email protected] wrote:
Does it work with other keyboards? Maybe the NKRO stuff is messing with
it's logicOn the bright side, I've measured infinitykb's power usage, it was at 0ma
with the device I was using, so if you manage to make it work, the result
will be satisfactory in terms of power usage :)—
Reply to this email directly or view it on GitHub
#44 (comment).
from controller.
Awesome i will have to give that a try!
Currently I'm just running some configurator-generated layouts, and having some problems where my layer 1 function seems to get locked on permanently... thats totally separate and not necessarily an issue yet
from controller.
I was able to add this line and it caused the 'a' key to no longer register an a.
However it is not clear how I can independently verify that the protocol changed. For example I plug it in, wait for it to initialize, mash A a bunch of times, no A's are sent by the keyboard, but I can still from this point press my hand down on a lot of keys at once (15+) and they all actually still register. On non-NKRO keyboards what usually happens is it "locks up" till the keys are released. That's not happening, they're streaming away in the same way that they do when NKRO is active.
I tried holding down A and doing the same (putting my hand down on the rest of the board). no change.
And i tried the bluetooth pairing a bunch of times, still no dice. Indeed the serial debug output shows NKRO protocol.
Update
Since I am a good keyboard freak I do happen to have a Ducky board that has its own builtin hardware switch Fn+F12 that toggles NKRO. I verified that if I leave NKRO off, I can successfully register a bluetooth keyboard with my Mac (and iOS devices!!!!!11) using the Nulaxy.
Then, while it is connected, I can toggle on NKRO on this ducky board and it stops working! And upon switching NKRO back off, it works again. So this is a very cool result that definitely verifies the hypothesis that NKRO is the thing that this Nulaxy can't handle.
I am also able to easily test NKRO active by smashing my hand across the keyboard, and it's clear that I just need to find a working way to set NKRO off for the Infinity board. I don't mind it being off 100% of the time so you can just show me how to make it boot up with NKRO off.
from controller.
Here is the progress I made.
▸ AWHostedViewer/ |~
diff --git a/Output/pjrcUSB/arm/usb_dev.c b/Output/pjrcUSB/arm/usb_dev.c
index f09540c..0504738 100644
--- a/Output/pjrcUSB/arm/usb_dev.c
+++ b/Output/pjrcUSB/arm/usb_dev.c
@@ -455,7 +455,7 @@ static void usb_setup()
printHex( setup.wValue & 0xFF );
print(NL);
#endif
- USBKeys_Protocol = setup.wValue & 0xFF; // 0 - Boot Mode, 1 - NKRO Mode
+ USBKeys_Protocol = 0; // 0 - Boot Mode, 1 - NKRO Mode
endpoint0_stall();
return;
diff --git a/Output/pjrcUSB/output_com.c b/Output/pjrcUSB/output_com.c
index 7a9b84b..26d98e8 100644
--- a/Output/pjrcUSB/output_com.c
+++ b/Output/pjrcUSB/output_com.c
@@ -114,7 +114,7 @@ volatile uint8_t USBKeys_LEDs = 0;
// Protocol setting from the host.
// 0 - Boot Mode
// 1 - NKRO Mode (Default, unless set by a BIOS or boot interface)
-volatile uint8_t USBKeys_Protocol = 1;
+volatile uint8_t USBKeys_Protocol = 0;
// Indicate if USB should send update
// OS only needs update if there has been a change in state
@@ -191,7 +191,7 @@ void Output_kbdProtocolNKRO_capability( uint8_t state, uint8_t stateType, uint8_
Output_flushBuffers();
// Set the keyboard protocol to NKRO Mode
- USBKeys_Protocol = 1;
+ USBKeys_Protocol = 0;
}
This is fine considering how little I know of what's going on, I am finally able to see boot protocol output in debug over serial.
However, very sad to say, this made no difference and the bluetooth keyboard pairing does not work.
from controller.
Interesting. I just ordered one of the devices.
Also, I think I may have contact info for the developer of the device.
On Sun, Jun 7, 2015, 23:59 Steven Lu [email protected] wrote:
Here is the progress I made.
▸ AWHostedViewer/ |~
diff --git a/Output/pjrcUSB/arm/usb_dev.c b/Output/pjrcUSB/arm/usb_dev.c
index f09540c..0504738 100644
--- a/Output/pjrcUSB/arm/usb_dev.c
+++ b/Output/pjrcUSB/arm/usb_dev.c
@@ -455,7 +455,7 @@ static void usb_setup()
printHex( setup.wValue & 0xFF );
print(NL);
#endif
USBKeys_Protocol = setup.wValue & 0xFF; // 0 - Boot Mode, 1 - NKRO Mode
USBKeys_Protocol = 0; // 0 - Boot Mode, 1 - NKRO Mode endpoint0_stall(); return;
diff --git a/Output/pjrcUSB/output_com.c b/Output/pjrcUSB/output_com.c
index 7a9b84b..26d98e8 100644
--- a/Output/pjrcUSB/output_com.c
+++ b/Output/pjrcUSB/output_com.c
@@ -114,7 +114,7 @@ volatile uint8_t USBKeys_LEDs = 0;
// Protocol setting from the host.
// 0 - Boot Mode
// 1 - NKRO Mode (Default, unless set by a BIOS or boot interface)
-volatile uint8_t USBKeys_Protocol = 1;
+volatile uint8_t USBKeys_Protocol = 0;// Indicate if USB should send update
// OS only needs update if there has been a change in state
@@ -191,7 +191,7 @@ void Output_kbdProtocolNKRO_capability( uint8_t state, uint8_t stateType, uint8_
Output_flushBuffers();// Set the keyboard protocol to NKRO Mode
USBKeys_Protocol = 1;
}USBKeys_Protocol = 0;
This is fine considering how little I know of what's going on, I am
finally able to see non NKRO output in debug over serial.However, very sad to say, this made no difference and the bluetooth
keyboard pairing does not work.—
Reply to this email directly or view it on GitHub
#44 (comment).
from controller.
Thats fantastic, yeah I would imagine having a way to debug the bluetooth device is probably what we need
from controller.
Related Issues (20)
- Method for toggling a set of LEDs off/on?
- Colours differ between sections of the underlighting on Gemini HOT 1
- Stretch Rainbow Animations
- K-Type enters flashing mode when using Ultimaker Cura HOT 5
- Mouse Key Control - Ergodox Infinity
- Creating custom KLL files
- Errors running ergodox.bash HOT 2
- GEMINI RGUI (possibly MENU as well) remap issue due to layout mismatch HOT 2
- Support for Aurora RGB sync HOT 3
- Macro "CapsLock" + "I" produces extra letters HOT 1
- Support for fwupd - Linux Vendor Firmware Service HOT 12
- Hexgears Gemini white backlighting not white HOT 2
- Kira LEDS go into a continous blinking loop (red, blue, green on different parts of the keyboard) HOT 5
- K-Type not detected in flash mode
- Kira - Multiple issues flashing the firmware HOT 2
- HID-IO as a replacement for CDC Virtual Serial Port? HOT 1
- Docker Missing CMakeLists.txt HOT 1
- Slow initialization and /dev/ttyACM0 no longer available after flashing with updated controller
- How do I map right alt to emit Fn? HOT 1
- Cannot install libusbK driver
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from controller.