Page 9 of 12

Posted: 16 Nov 2016, 01:30
by hasu
yes, write code to meet your need.

Posted: 25 Nov 2016, 10:46
by kekstee
I did improve the LED support a bit for myself, but I'm wondering if there is a decent way to detect wether the computer is powered down or not.

My first guess was adding hooks to common/avr/suspend.c, which has some problems in its current state:
  • switching backlight and layer LEDs off on suspend does not always work when I suspend my OS
  • it won't work if I shut down the machine
Is there a better place to perform this or what kind of problem am I looking at here?

Posted: 08 Mar 2017, 20:47
by Phenix
can someone please share an F122 keymap? I am atm really stuck in connecting mine (Soarer converter is no option, as I use an usb hubm which doesnt work out at all)

Posted: 08 Mar 2017, 21:29
by Phenix
I missed to add: pin-mapping is still with Soarers, atm looking into changing pins in the makefile(not successfull so far)

Posted: 31 May 2017, 03:51
by hasu
Now fixed Modifier/Layer key stuck problem finally.
https://github.com/tmk/tmk_keyboard/tre ... e#20170530

See this wiki entry. https://github.com/tmk/tmk_keyboard/wik ... ayer-stuck If you need old keymap behaviour for some reason define NO_TRACK_KEY_PRESS in your config.h. This is virtually equivalent to QMK's PREVENT_STUCK_MODIFIERS. https://github.com/qmk/qmk_firmware/pull/182

With this fix the biggest limitaiotn of TMK keymap were removed. Modifier and layer switch keys cannot be stuck virtually even if you want to have very strange keymap :D You have to compile to get this fix worked, keymap editor is not updated yet.

Report if you have any problem with this fix.

Posted: 03 Jun 2017, 17:48
by Mr.Bean
Is there a way to toggle layers like ACTION_LAYER_TAP_KEY?

Let's say my F1 toggles layer 1 after 3x taps, but on single tap it acts as normal key.

Basically ACTION_LAYER_TAP_TOGGLE(1, KC_F1) with second parameter.

Posted: 03 Jun 2017, 20:33
by hasu
No. You have to write your own code in action_function in your keymap.

You can find code of the action you refer 'ACTION_LAYER_TAP_TOGGLE' with searching action_code.h and action.c.
https://github.com/tmk/tmk_keyboard/blo ... ode.h#L277
https://github.com/tmk/tmk_keyboard/blo ... #L264-L275


You code would look like this. I'm not sure it is useful to toggle a layer after restering three F1 though.

Code: Select all

void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
{
    switch (id) {
        case F1_TOGGLE:
            /* tap toggle */
            if (event.pressed) {
                if (tap_count < 3) {
                    register_code(KC_F1);
                }  
            } else {
                if (tap_count < 3) {
                    unregister_code(KC_F1);
                }
                if (tap_count <= 3) {
                    layer_invert(1);
                }  
            }
            break;
    }
}

Posted: 04 Jun 2017, 00:59
by Mr.Bean
Thanks, I will look in to it.

Posted: 28 Aug 2017, 21:27
by Zarugal

Posted: 28 Aug 2017, 23:05
by hasu
Zarugal wrote: I'm working on a handwired build and I am currently trying to define the keymap. I have 17 columns and therefore am over the scope of hexadecimal, so how do I define the 17th Column? If I use K10/K11 I overrun the column into the next row.

Here's a demonstration of the conflict below in case I am unclear.

Code: Select all

K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, K0c, K0d, K0e, K0f, K??
K10, K11, K12
K20, K21
If I use K10 on the top row, my second row will no longer work, so what do I use?
Use K1G :D

Posted: 28 Aug 2017, 23:09
by Zarugal
Thanks for the help! But would it be K0G on the top row, and then K1G underneath it on the second?

Posted: 28 Aug 2017, 23:31
by hasu
Zarugal wrote: Thanks for the help! But would it be K0G on the top row, and then K1G underneath it on the second?
ah, youre rite.

Posted: 30 Aug 2017, 14:14
by Zarugal
Ah cool, just wanted to check! Thank you!

Posted: 28 Sep 2017, 20:46
by SpacemanToby
Hey Hasu,

I'm using your code and a teensy 2.0 to convert an electric typewriter into a keyboard (posted about it here keyboards-f2/converting-an-old-typewrit ... 17317.html). Anyway, I have an issue where it appears to work just fine on my macbook pro at home, but as soon as I try use it on my windows machine at work, keys just fire over and over again. It's usually the same column over and over, but sometime I can make it type other random keys. Anyway, I guess I'm just looking for some guidance on if this sounds like a hardware or a software issue. I've spent most of my debugging efforts on hardware (soldering, resoldering, insulating, etc...). Any insight into what the issue might be is appreciated.

Posted: 29 Sep 2017, 02:52
by hasu
SpacemanToby wrote: Hey Hasu,

I'm using your code and a teensy 2.0 to convert an electric typewriter into a keyboard (posted about it here keyboards-f2/converting-an-old-typewrit ... 17317.html). Anyway, I have an issue where it appears to work just fine on my macbook pro at home, but as soon as I try use it on my windows machine at work, keys just fire over and over again. It's usually the same column over and over, but sometime I can make it type other random keys. Anyway, I guess I'm just looking for some guidance on if this sounds like a hardware or a software issue. I've spent most of my debugging efforts on hardware (soldering, resoldering, insulating, etc...). Any insight into what the issue might be is appreciated.
It souds problem is likely to be hardware rather than firmware or OS. I guess you changed something on its wiring during commuting. Bring your macbook to office and try both side by side.

Posted: 29 Sep 2017, 04:34
by SpacemanToby
Unfortunately, I've tried both right next to each other. I'm actually typing this response using the keyboard on a different laptop I have running windows 10. That's ok, I guess this will just be a non work keyboard. Maybe my next one will work better. Thanks for the awesome firmware code.

Posted: 03 Oct 2017, 03:10
by SpacemanToby
I've done a little more debugging. It mostly prints the same column over and over again, 7yhb. I started desoldering that column, even desoldered the row on the seven key, but it still prints those keys, even ones with no wires attached at all. I'm not sure what would cause this.

Posted: 04 Oct 2017, 02:43
by hasu
then, try removing wire from mcu pin of the column next. If it still fires the '7yhb' you should check your codes.

Posted: 04 Oct 2017, 04:35
by SpacemanToby
I just wired that column to a different pin on the teensy and updated my code. It finally seems to be working now. Thanks for your help.

Posted: 25 Apr 2018, 17:06
by snufflecat
Hi Hasu, hope you don't mind me asking here in stead. I can't stand GH's forum-design and layout.

OK, so:

- I've flashed my Teensy 2.0 with the correct HEX-file (I think)
- Solder joints on the Teensy are good
- Resistor is in place where it should be
- Wires going from the cable to the Teensy are correct (I've triple-checked)
- The Teensy loader software detects the chip

Still - no action.

- One chip on my Apple Extended II got really warm after a while.
- The keyboard is family number M3501 with Norwegian/Scandinavian layout.
- I did not do any changes to the config files (I can't figure it out anyway), just compiled the hex fil with "make -f Makefile.teensy"

Please see the attached image for photo of my solder joints.

Any help or tips what so ever are greatly appreciated.
IMG_2929.JPG
IMG_2929.JPG (1.36 MiB) Viewed 9370 times

Posted: 25 Apr 2018, 23:48
by hasu
You problem is likey to be your wiring as many poeple had.
I can't say soldering job in the pic is good I think you are very new to these things. Your will find someone with skill to ask help in your family(dad or son?), classmates or colleagues.

Posted: 26 Apr 2018, 09:00
by snufflecat
hasu wrote: You problem is likey to be your wiring as many poeple had.
I can't say soldering job in the pic is good I think you are very new to these things. Your will find someone with skill to ask help in your family(dad or son?), classmates or colleagues.
And here I was, thinking I did an OK job. :p Thank you! I will have someone skilled help me and see if that helps.

Edit:
I got help and now have much better connections. Now my mouse cursor jumps around at random intervals, but I was able to run the "hid_listen.mac" and keep getting the following message(s):

Code: Select all

Scan: addr:1, reg3:FFE2
Scan: addr:2, reg3:FFE2
Scan: addr:3, reg3:FFE2
Scan: addr:4, reg3:FFE2
Scan: addr:5, reg3:FFE2
Scan: addr:6, reg3:FFE2
Scan: addr:7, reg3:FFE2
Scan: addr:8, reg3:FFE2
Scan: addr:9, reg3:FFE2
Scan: addr:10, reg3:FFE2
Scan: addr:11, reg3:FFE2
Scan: addr:12, reg3:FFE2
Scan: addr:13, reg3:FFE2
Scan: addr:14, reg3:FFE2
Scan: addr:15, reg3:FFE2
debug enabled.
adb_host_kbd_recv: ERROR(-30)

Posted: 28 Apr 2018, 16:30
by snufflecat
Sorry, but I have to shamelessly bump this thread in hopes of having someone skilled explain to me what I'm doing wrong. :)

Posted: 29 Apr 2018, 00:41
by hasu
Error -30 usually indicates that your wiring is wrong unless your keyboard is in bad shape.
Check your pullup resistor value(1K-10K should be ok) and wire connections.

Are you sure that wire connections from keyboard is correct?
If your give power and ground connection properly the keyboard LEDs blink at startup.

Posted: 30 Apr 2018, 15:28
by snufflecat
hasu wrote: Error -30 usually indicates that your wiring is wrong unless your keyboard is in bad shape.
Check your pullup resistor value(1K-10K should be ok) and wire connections.

Are you sure that wire connections from keyboard is correct?
If your give power and ground connection properly the keyboard LEDs blink at startup.
Thank you Hasu. Here are some pictures of what I discovered this morning, and what I might suspect is the reason for my errors:
One of the wires going from the cable to the Teensy melted. I have no idea why I didn't notice this before.
One of the wires going from the cable to the Teensy melted. I have no idea why I didn't notice this before.
IMG_3031.JPG (1.47 MiB) Viewed 9266 times
A tiny drop of solder on the Teensy. This is because of my very bad skills with soldering.
A tiny drop of solder on the Teensy. This is because of my very bad skills with soldering.
IMG_3032.JPG (1.1 MiB) Viewed 9266 times
:oops:

Posted: 02 May 2018, 09:17
by snufflecat
By the way: Here's a mockup of how I thought I was supposed to wire it up, if it's of any interest. Could it be that I messed this up as well?
Spoiler:
Screen Shot 2018-04-25 at 15.43.08.png
Screen Shot 2018-04-25 at 15.43.08.png (416.18 KiB) Viewed 9236 times

Posted: 13 May 2018, 00:23
by snacksthecat
I got this sweet leaf spring keyboard from IdleThock a while back.
Spoiler:
Image
I built this little converter for it and flashed it with the TMK PS2 converter with JIS keymap.
Spoiler:
Image
The keymap is a bit too complex and unfamiliar for me so I'd like to dumb it down to my level. I'd like to remap a bunch of the keys to be more like an ANSI keyboard that I'm used to. Just wondering if anyone has suggestions on the best way to get started. I'm wondering if I should start from the JIS keymap and modify it, start from standard keymap and modify it, or just start from scratch.

Sorry if this is a dumb question! I've used TMK for a handwire before with really nice results but never tinkered with the converter.

Posted: 16 May 2018, 05:24
by hasu
@snacksthecat
many unfamiliar keys... :D
You can see ps/2 scan codes with 'hid_listen' if some keys on the keyboard are not supported by the converter.
Let me know the scan codes I'll be able to add support for unsupported keys.

You don't have to define specific keymap template for this keyboard, you can use unimap_plain.c to support most of keys.

Posted: 08 Oct 2018, 01:20
by snacksthecat
Question about lock LEDs. I feel bad for even asking because I've figured this out before but I've been messing with this for a couple hours now and I'm left scratching my head.

Could anyone tell me what I should fix in my LED code to get caps lock to work? I know it depends on my wiring so I can trace that if needed. I just figured there are only a couple of different possibilities to try.

Code: Select all

void led_set(uint8_t usb_led)
{
    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
        // output low
        DDRD |= (1<<4);
        PORTD &= ~(1<<4);
    } else {
        // Hi-Z
        DDRD &= ~(1<<4);
        PORTD &= ~(1<<4);
    }
}
Thanks!

Posted: 08 Oct 2018, 03:19
by hasu
It will work if the LED is placed on PD4 properly.
Yes, you have to post your wiring on pic or schematic preferably if you need more help.

EDIT: did you setup ps/2 converter with your Fujitsu leafspring keyboard? it would be helpful to know how the specific keys works if you can show us your keymap file.