-
-
Notifications
You must be signed in to change notification settings - Fork 40.5k
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
Can't use KC_LANG1 & KC_LANG2 key #312
Comments
@jackhumbert any thoughts on this one? |
Here are some japanese-specific keycodes from keycode.h - do they do anything for you? /* Japanese specific */
#define KC_ZKHK KC_GRAVE
#define KC_RO KC_INT1
#define KC_KANA KC_INT2
#define KC_JYEN KC_INT3
#define KC_JPY KC_INT3
#define KC_HENK KC_INT4
#define KC_MHEN KC_INT5 |
thank you for advice. from http://www.usb.org/developers/hidpage/Hut1_12v2.pdf maybe KC_ZKHK(0x35) means KC_RO(0x87) means KC_JYEN&KC_JPY(0x88) means KC_HENK(0x89) means and...
one more. |
Yeah, it looks like the Massdrop configurator uses 0x90/0x91, so This might be a device/vendor ID issue - OS X can be kind of picky about that. It looks like the configurator uses these IDs: #define VENDOR_ID 0x1d50 // Openmoko, Inc.
#define PRODUCT_ID 0x6028 // ErgoDox ergonomic keyboard You can modify these in QMK by editing your config.h file. |
I modified this line. modified code.
and exec command & get response.
But IME(Input Method Editor) can't get affected. is this answer intended?
I tried to modify
but I can't get expected result... |
@eltang - thank you for your willingness to help, and for wanting to participate! Before asking question such as this, I ask that you please take the time to fix your own keymap. I'd love to see you apply your considerable expertise to your own issue before helping others, so that you are able to test changes. This is a basic requirement for supporting others -- being able to compile and flash keymaps on your own hardware, so you can evaluate your own suggestions rather than making guesses. The steps you should follow are clearly outlined here. Please don't hesitate to ask me there if there is anything that you find too difficult or confusing. For now, I have removed your comment, and will remove similar comments until you are able to find the time to correct your own technical problems. Thanks again! @vvakame - my apologies. Please don't feel that you need to reply to Eric's vague question, which I have now removed. I will let @jackhumbert take it from here. |
Hi! I got answer this issue. |
@ezuk @jackhumbert I made commit, it works fine. vvakame@719b866 @mhidaka give support & some comment to me. thanks! |
Interesting - thanks for sharing! @abcminiuser uses a similarly lower value here (0x65 instead of 0x68 compared to the TMK default of 0xFF) for the keyboard demo in Lufa. It looks like the 0x68 is used in the configurator's descriptors, which may indicate a 104-key keyboard (0x68 is 104), and 0x65 would be a 101-key one. It's possible that most OSes wouldn't know what to do with the 0xFF (255-key keyboard), which causes this trouble. I wonder if this is also causing the Mac-related media key problems. |
Let me test this today, but it's looking good, so if you'd like to create a pull request, that would be awesome :) |
yay! 👍
My ErgoDox EZ works fine about KC_MPLY, KC_MNXT, KC_MPRV, KC_VOLU, KC_VOLD, KC_MUTE. I'll send a pull request. 😉 |
Bad news.. in Windows 10 (Surface Pro 4). I tried |
Ah, interesting. Do those japanese-specific keycodes work in OS X with your changes? |
Yes! summary. in Mac OS X in Windows
I go to bed. now is 3:00 am in japan. |
Awesome - I'll talk to @ezuk about working on documentation for that, since I'm not sure we wanna commit anything that varies from Thanks for diving into this! |
I tried in Ubuntu 16.04. |
Checked HID specification and found description like Logical Min/Max contains signed value. I guess 0xFF means -1, not 255 there and we have to use 16 bit value for Logical Maximum. Can someone test this patch? diff --git a/tmk_core/protocol/lufa/descriptor.c b/tmk_core/protocol/lufa/descriptor.c
index c13a81b..bcc4173 100644
--- a/tmk_core/protocol/lufa/descriptor.c
+++ b/tmk_core/protocol/lufa/descriptor.c
@@ -76,7 +76,7 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] =
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
HID_RI_USAGE_MAXIMUM(8, 0xFF), /* Keyboard Application */
HID_RI_LOGICAL_MINIMUM(8, 0x00),
- HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
+ HID_RI_LOGICAL_MAXIMUM(16, 0x00FF),
HID_RI_REPORT_COUNT(8, 0x06),
HID_RI_REPORT_SIZE(8, 0x08),
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), |
I'll try your patch tonight! (please ping if I have forgotten... |
I tried it. It works fine in Max OS X! |
It works fine in my Mac OS X and Windows 10 environment! 👍 |
- Logical Min/Max contains signed value and needs 16 bit to indicate 255 qmk/qmk_firmware#312
- Logical Min/Max contains signed value and needs 16 bit to indicate 255 qmk/qmk_firmware#312
- Logical Min/Max contains signed value and needs 16 bit to indicate 255 qmk/qmk_firmware#312
- Logical Min/Max contains signed value and needs 16 bit to indicate 255 qmk/qmk_firmware#312
This will prevent future occurrences of qmk/qmk_firmware#312.
- Logical Min/Max contains signed value and needs 16 bit to indicate 255 qmk/qmk_firmware#312
* sn32: revamp the shared RGB driver * split the rgb logic state config for NPN/PNP on the non-PWM side of the rgb matrix * update ROW2COL, cleanup high/low logic * bump the counter after the scan * remove atomic blocks these are not needed for SN32 * formatting * only reset the counter on wraparound * fix stray bracket * ROW2COL: offset cols before the RGB scan * software pwm control * fix row2col b/g swap * make it build * some pwm updates * simplify the soft pwm * small cleanup * software pwm: move the gpio status change in the handler * more driver updates * fix out of bounds bug * fix one side of the indexing * sw pwm: update the handlers * software rgb: full color output * row2col index fixup: attempt #1 * Revert "row2col index fixup: attempt #1" don't drink and code kids This reverts commit b61bf61. * fixup led indexes * circumvent stupid hardware decisions thanks evision * sw pwm: adjust period based on brightness * minor fixup * sw row2col: keep led rows as output * Revert "sw pwm: adjust period based on brightness" not having a period big enough for the whole matrix pass is not a good idea. cols/rows end up not getting scanned and stay dark This reverts commit e2e2a03. * actually disable the b/g channels * only check for OOB access in software COL2ROW this fixes indexing issues and things are now inline * prettify and lint it
Hi, I'm enjoying ErgoDox EZ!
I want to use KC_LANG1 & KC_LANG2 Key that is important feature for japanese user.
KC_LANG1 is
switch to english input mode
and KC_LANG2 isswitch to japanese input mode
key.Here is my keymap.c https://github.com/vvakame/qmk_firmware/blob/0e1bb350ab3efc1473b25e256bc648fda0ab2074/keyboard/ergodox_ez/keymaps/vv/keymap.c#L15-L55
I tried
CONSOLE_ENABLE=yes
andhid_listen
.I added debug log to
action_for_key
function (keymap_common.c). I gotKC_LANG1
response from keyboard. but It was not possible to exhibit the effect. 😿KC_LANG1&2 is works fine from massdrop settings. https://keyboard-configurator.massdrop.com/ext/ergodox/?referer=XEG9GJ&hash=7c963a9ba9dad9108e4dc854c22aaecd
But qmk_firmware is not.
I'm happy if I get any advice.
The text was updated successfully, but these errors were encountered: