Author Topic: Soarer's Keyboard Controller firmware  (Read 86040 times)

0 Members and 1 Guest are viewing this topic.

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Soarer's Keyboard Controller firmware
« on: Sun, 03 November 2013, 08:10:08 »
Here is my Controller firmware for AVR microcontrollers with hardware USB, e.g. Teensy 2.0, Teensy++ 2.0.

The main difference between this and other controller firmwares is that all configuration is performed using a config file, rather than modifying the C source code. A few example matrix configs are included, covering some very different keyboards.

Retrete was the initial guinea pig with his vintage Kevex terminal - the discussion there serves as an example walk-though of how to apply this firmware to a keyboard. Two videos as well!

The best way to approach making the matrix config is to first set it up with all keys set to 'UNASSIGNED', then to use hid_listen to see which matrix code fires for each key and debug any wiring problems. That way you don't get unintended keystrokes sent to your OS, which could be painful!

All of the features of my Converter (NKRO, remapping, layer, macro, etc) are supported (except, of course, 'ifset').

Matrix scans can include 'classic' matrix (direct connections to rows and columns), multiplexed (strobes are driven through a decoder), and unstrobed (where individual keys are connected to pins). Various polarity and mode settings are available to cover many requirements. There's also options for scan rate, debouncing time and mode, including turbo mode which adds no delay, and a blocking flag to enable de-ghosting.

Currently at beta stage, with only bugfixes and minor changes expected before the first proper release. There is a single .html page included in the zip describing the Controller specific configuration - you'll also need the docs from my Converter (available on DT and GH).

Required hardware is an AVR microcontroller with more than 16KB RAM, and hardware USB with a decent amount of buffer memory. This includes the ATmega32U4 and better, but does NOT include the ATmega32U2.
« Last Edit: Sun, 03 November 2013, 09:10:57 by Soarer »

Offline metalliqaz

  • * Maker
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Soarer's Keyboard Controller firmware
« Reply #1 on: Sun, 03 November 2013, 08:14:01 »
Geekhack is a tinkerers paradise :cool:

Offline Grendel

  • Posts: 462
  • Location: OR, USA
    • Firmware for Costar Replacement Controllers
Re: Soarer's Keyboard Controller firmware
« Reply #2 on: Sun, 03 November 2013, 16:09:18 »
Thanks for releasing it !
Currently using: RK-9000WH/GR, CMS QFXT w/ Ghost Squid
- I'm game !

Offline xavierblak

  • Posts: 202
  • Location: NY
Re: Soarer's Keyboard Controller firmware
« Reply #3 on: Sun, 03 November 2013, 22:06:21 »
Nice. I've been too lazy to finish writing some firmware to get my 5291 bigfoot working. I see you have support for it in here. I'll try it out.

Edit:
Success. :)
« Last Edit: Sun, 03 November 2013, 22:26:38 by xavierblak »

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #4 on: Mon, 04 November 2013, 06:56:47 »
Excellent!

I was looking for your thread last night, but couldn't find it because it doesn't say 'bigfoot' in it anywhere. Should've searched on 5291 - d'oh! All the info anyone might need to wire up the 5291 'bigfoot' is there :D

Offline JBert

  • Posts: 764
Re: Soarer's Keyboard Controller firmware
« Reply #5 on: Tue, 05 November 2013, 06:30:31 »
Ah, hopefully this can be run on a GH60 as well, that way I can keep using my layers and macros for the Poker.

Is the Pxx notation the way the Atmel headers specify port bits or is it something Teensy-specific?
IBM Model F XT + Soarer's USB Converter || Cherry G80-3000/Clears

The storage list:
IBM Model F AT || Cherry G80-3000/Blues || Compaq MX11800 (Cherry brown, bizarre layout) || IBM KB-8923 (model M-style RD) || G81-3010 Hxx || BTC 5100C || G81-3000 Sxx || Atari keyboard (?)


Currently ignored by: nobody?

Disclaimer: we don\'t help you save money on [strike]keyboards[/strike] hardware, rather we make you feel less bad about your expense.
[/SIZE]

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #6 on: Tue, 05 November 2013, 07:37:07 »
It's how Atmel label the pins in the datasheet :)

Offline Hellmark

  • Posts: 349
  • Location: Maryland Heights, Mo, USA
Re: Soarer's Keyboard Controller firmware
« Reply #7 on: Wed, 06 November 2013, 10:17:52 »
Will the source be released for this? I know you have the source available for the SC tools to be used with it, just didn't know about the firmware itself.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #8 on: Wed, 06 November 2013, 13:39:51 »
Wow excellent! thanks for the release, soarer.

Geekhack is a tinkerers paradise :cool:
It's the "hack" part of Geekhack


Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #9 on: Thu, 07 November 2013, 06:41:08 »
Did somebody try it on 3178 display terminal keyboards ?

I doubt it, yet!

Not sure what the 3178 has inside it... in general, it should be feasible to convert any IBM that uses the 4-channel capsense chip. The 4-channel seems a LOT easier to drive than the 8-channel. If the controller has a CPU, it would need to be removed, and perhaps some circuitry added (in addition to the Teensy). The 5291 has a pair of decoders to drive the 24 strobes into the matrix - those with a CPU may not have the same arrangement, but whatever they have might be usable as-is. The extra bit they probably won't have is a little circuit to generate the capsense chip's gate signal from the strobe gate signal - the 5291 simply delays the signal slightly to do that (schematic).


Offline bcg

  • Posts: 112
Re: Soarer's Keyboard Controller firmware
« Reply #10 on: Mon, 25 November 2013, 20:43:11 »
Did somebody try it on 3178 display terminal keyboards ?

I doubt it, yet!

Not sure what the 3178 has inside it... in general, it should be feasible to convert any IBM that uses the 4-channel capsense chip. The 4-channel seems a LOT easier to drive than the 8-channel. If the controller has a CPU, it would need to be removed, and perhaps some circuitry added (in addition to the Teensy). The 5291 has a pair of decoders to drive the 24 strobes into the matrix - those with a CPU may not have the same arrangement, but whatever they have might be usable as-is. The extra bit they probably won't have is a little circuit to generate the capsense chip's gate signal from the strobe gate signal - the 5291 simply delays the signal slightly to do that (schematic).

(Attachment Link)

I just ordered a 3178 from feebay, I'll take pictures of the insides if you are interested.

Will I be able to use a Arduino Pro Micro to get this working, or will I require more pins?  I also have a Teensy 2.0 but I'd obviously prefer to use a $6 part if I can get away with it.

Thanks for releasing this Soarer!
:wq!

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #11 on: Tue, 26 November 2013, 06:51:56 »
Cool, yes, interested in pictures :)

We should be able to tell from its ICs whether a Pro Micro would be OK. I'd guess that it uses a decoder for at least some of its strobes, but if it's not all of them it could still run out of pins.

I might have to add some extra ways to set things up in the config file, since it could need separate control of the multiplexed sense (either for timing reasons or because not all strobes are decoded).

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: Soarer's Keyboard Controller firmware
« Reply #12 on: Tue, 26 November 2013, 14:35:56 »
do you think it would work into the arduino micro soarer?
I know it has a different bootloader but I'm not sure what else could make it not work in one arduino micro - it uses the atmega32u4
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #13 on: Tue, 26 November 2013, 15:15:59 »
Yup, that should be fine :)

Offline bcg

  • Posts: 112
Re: Soarer's Keyboard Controller firmware
« Reply #14 on: Sat, 07 December 2013, 01:22:41 »
Cool, yes, interested in pictures :)

We should be able to tell from its ICs whether a Pro Micro would be OK. I'd guess that it uses a decoder for at least some of its strobes, but if it's not all of them it could still run out of pins.

I might have to add some extra ways to set things up in the config file, since it could need separate control of the multiplexed sense (either for timing reasons or because not all strobes are decoded).

Ok, so here it is... sorry about the quality of the photos... I'm terrible at taking pictures

47091-047093-147095-2

EDIT:  Also does anyone know what that blue and white coil on the right is?  Is it some kind of speaker or something?
« Last Edit: Sat, 07 December 2013, 01:25:58 by bcg »
:wq!

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #15 on: Sat, 07 December 2013, 09:04:07 »
Yeah, that's a solenoid to provide the key-click. Unfortunately it probably needs 12 volts to operate, so that's not easy to do from USB.

Well the pics give me an idea of what's there at least, but I can't read the numbers on the chips. The square silver one (bottom right) is key - if that's 5119699 then it's the 4-channel and should work with my code, but not if it's the 8-channel 8273565.

Offline metalliqaz

  • * Maker
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Soarer's Keyboard Controller firmware
« Reply #16 on: Sat, 07 December 2013, 15:24:10 »
There was a keyboard that had a solenoid to make the click sound?  Wow, that's amazing.

Offline bcg

  • Posts: 112
Re: Soarer's Keyboard Controller firmware
« Reply #17 on: Sat, 07 December 2013, 19:35:54 »
Yeah, that's a solenoid to provide the key-click. Unfortunately it probably needs 12 volts to operate, so that's not easy to do from USB.

Well the pics give me an idea of what's there at least, but I can't read the numbers on the chips. The square silver one (bottom right) is key - if that's 5119699 then it's the 4-channel and should work with my code, but not if it's the 8-channel 8273565.

Bad news I  guess:

47196-0

Is it a lost cause with the 8 channel chip?

If so that's too bad because I really like the sound and feel of this board... guess I might just have to pony up the cash for a AT Model F after all.
:wq!

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #18 on: Sat, 07 December 2013, 19:47:58 »
Well, I haven't been able to drive it reliably with a Teensy replacing the 8049 CPU, yet :(

But it's not a lost cause; you'll just have to wait for the Model F controller replacement project from geekhack's secret skunk works to bear fruit, which should be fairly soon :D

Offline bcg

  • Posts: 112
Re: Soarer's Keyboard Controller firmware
« Reply #19 on: Sat, 07 December 2013, 20:04:36 »
Well, I haven't been able to drive it reliably with a Teensy replacing the 8049 CPU, yet :(

But it's not a lost cause; you'll just have to wait for the Model F controller replacement project from geekhack's secret skunk works to bear fruit, which should be fairly soon :D

Sweet!  Thanks for taking the time to look into this.  I'll have to keep my eyes open for the alternative F controller.  Is there a thread where that is being discussed?
:wq!

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #20 on: Sat, 07 December 2013, 20:45:30 »
Probably will be one soon, but until then some progress might get reported in the kishsaver threads, since that's a main target initially (amongst others).

Offline Soarer

  • * Moderator
  • Thread Starter
  • Posts: 1918
  • Location: UK
Re: Soarer's Keyboard Controller firmware
« Reply #21 on: Tue, 14 January 2014, 19:35:12 »
Here's some notes on replacing the CPU of an IBM 6112884 with a Teensy 2.0 running this hex.

The IBM 6112884 is this layout with Japanese legends:

50917-0

There are a couple of other variants, one with Chinese legends.

It has vintage Alps switches:

50919-1

The original 8048 CPU has pins used as follows:

50921-2

The bold labels are the interesting ones for converting, and the Teensy pins I wired them to are shown in blue.

I've gone with a plug in approach, first replacing the CPU with a socket. Then 8 pins made using bell wire connect the sense rows, and 2 more just hold the other side in place. More bell wire used to hook up power and ground, and then 4 lines to the multiplexed column strobes. Insulating tape under the Teensy prevents Teensy pins shorting to socket pins where the flying leads are attached.

Pin 1 of the original CPU is bottom left in this pic:

50923-3

You could just remove the CPU and wire the Teensy in without a socket - it would probably be easier, but I wanted to be able to replace the original CPU easily.

The basic config is already included in the controller 1.20 zip file as 6112884.sc :D
« Last Edit: Tue, 14 January 2014, 19:38:55 by Soarer »

Offline minium

  • Posts: 10
  • Location: Southern California
Re: Soarer's Keyboard Controller firmware
« Reply #22 on: Wed, 15 January 2014, 01:34:17 »
Here's some notes on replacing the CPU of an IBM 6112884 with a Teensy 2.0 running this hex.

The IBM 6112884 is this layout with Japanese legends:

(Attachment Link)

There are a couple of other variants, one with Chinese legends.

It has vintage Alps switches:

(Attachment Link)

The original 8048 CPU has pins used as follows:

(Attachment Link)

The bold labels are the interesting ones for converting, and the Teensy pins I wired them to are shown in blue.

I've gone with a plug in approach, first replacing the CPU with a socket. Then 8 pins made using bell wire connect the sense rows, and 2 more just hold the other side in place. More bell wire used to hook up power and ground, and then 4 lines to the multiplexed column strobes. Insulating tape under the Teensy prevents Teensy pins shorting to socket pins where the flying leads are attached.

Pin 1 of the original CPU is bottom left in this pic:

(Attachment Link)

You could just remove the CPU and wire the Teensy in without a socket - it would probably be easier, but I wanted to be able to replace the original CPU easily.

The basic config is already included in the controller 1.20 zip file as 6112884.sc :D

Mine literally arrived a few hours ago. I'm really excited to get it wired up. Thank you for this and the converter firmware that is driving my M122.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #23 on: Sat, 03 May 2014, 16:22:59 »
So I'm running this on my one-hand ergodox, working fine. and I have a cherry matrix KB that i'm trying to use with this firmware.

Right now everything works great, except for one column which is "stuck" down.

So I flash it, and right after, all keys in the column "press", and then one is "stuck" down. After that, they won't register in AQT.

Column is connected to PD6 on the corner.
--
So I'm trying to debug it and the matrix works A-OK 100% fine with a multimeter. I'm getting continuity where I should and none where I'm not supposed to.

Where should I continue the debugging process? The hardware seems fine, and tests fine all the way up to the teensy. The KB had been working fine with the stock controller before this.

I can provide pictures and a copy of my layout file if that will help you help me debug it.

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Soarer's Keyboard Controller firmware
« Reply #24 on: Sat, 03 May 2014, 16:33:40 »
If you are using PJRC Teensy or Teensy++ PD6 has LED. I think you can NOT use the pin as input unfortunately.

EDIT:  You wll able to use PD6 as "strobe"(output) but not as "sense"(input). Anyway PD6 is to be avoided or the last pin to use.

EDIT2: ah, I forgot "NOT" :(
« Last Edit: Sat, 03 May 2014, 17:35:39 by hasu »

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #25 on: Sat, 03 May 2014, 19:24:16 »
If you are using PJRC Teensy or Teensy++ PD6 has LED. I think you can NOT use the pin as input unfortunately.

EDIT:  You wll able to use PD6 as "strobe"(output) but not as "sense"(input). Anyway PD6 is to be avoided or the last pin to use.

EDIT2: ah, I forgot "NOT" :(
I resoldered the pin to another unused one (very few unused pins on a 8*15 matrix) and now it works!

Thanks to Hasu and Wcass.
---
I would like to come up with a quick list of avaliable pins. One interior pin I am using, the other I don't think is usable. Also, some of the ones on the end are not usable I think either.

Offline poxeclipse

  • Posts: 171
  • Location: Toronto, Canada
  • Hit me with music ... yes, me friend
Re: Soarer's Keyboard Controller firmware
« Reply #26 on: Sun, 18 May 2014, 11:52:24 »
Cool, yes, interested in pictures :)

We should be able to tell from its ICs whether a Pro Micro would be OK. I'd guess that it uses a decoder for at least some of its strobes, but if it's not all of them it could still run out of pins.

I might have to add some extra ways to set things up in the config file, since it could need separate control of the multiplexed sense (either for timing reasons or because not all strobes are decoded).

Ok, so here it is... sorry about the quality of the photos... I'm terrible at taking pictures

(Attachment Link) (Attachment Link) (Attachment Link)

EDIT:  Also does anyone know what that blue and white coil on the right is?  Is it some kind of speaker or something?
It looks pretty close to my 3178 keyboard. It will work with xwhatsit's model F controller. Have a look:

http://geekhack.org/index.php?topic=57103.30

Offline berserkfan

  • Posts: 2135
  • Location: Not CONUS Not CONUS Not CONUS Not CONUS
  • changing diapers is more fun than model f assembly
Re: Soarer's Keyboard Controller firmware
« Reply #27 on: Mon, 18 August 2014, 02:48:56 »
Here's some notes on replacing the CPU of an IBM 6112884 with a Teensy 2.0 running this hex.

The IBM 6112884 is this layout with Japanese legends:

(Attachment Link)

There are a couple of other variants, one with Chinese legends.

It has vintage Alps switches:

(Attachment Link)

The original 8048 CPU has pins used as follows:

(Attachment Link)

The bold labels are the interesting ones for converting, and the Teensy pins I wired them to are shown in blue.

I've gone with a plug in approach, first replacing the CPU with a socket. Then 8 pins made using bell wire connect the sense rows, and 2 more just hold the other side in place. More bell wire used to hook up power and ground, and then 4 lines to the multiplexed column strobes. Insulating tape under the Teensy prevents Teensy pins shorting to socket pins where the flying leads are attached.

Pin 1 of the original CPU is bottom left in this pic:

(Attachment Link)

You could just remove the CPU and wire the Teensy in without a socket - it would probably be easier, but I wanted to be able to replace the original CPU easily.

The basic config is already included in the controller 1.20 zip file as 6112884.sc :D

ok I just got a similar keyboard and am happily working on it. I have a problem. There are 9 other non-standard keys which are unassigned and I'd like to program them to do something. But on the 6112884.sc document, there are way more than 9 unassigned places. Also the matrix isn't easily linear or grid so I have no idea which keys are located where.

How do I go about identifying the un=assigned keys and assigning them to do something or other?


Solved using brute force, by assigning lots of keycodes to the unassigned places and seeing what codes could be turned into real keypresses.

If anyone needs the document I can add to Soarer's contribution. Every key on my keyboard is now assigned, so all you need to do is to look at the .sc document and change the assignments. I have two right shifts to make up for the split right shift.
« Last Edit: Mon, 18 August 2014, 03:37:59 by berserkfan »
Most of the modding can be done on your own once you break through the psychological barriers.

Offline robskillz

  • Posts: 3
Re: Soarer's Keyboard Controller firmware
« Reply #28 on: Sat, 13 September 2014, 06:49:47 »
Thanks for this great firmware Soarer - so easy to configure!

I have a question about holding down shifted keys and making them repeat. When I hold down, for example, shift and 1 on my custom keyboard with 1.20 firmware I get a repeated ! as expected. But on keys where I've used a macro to remap the shifted character and I hold them down continuously the character doesn't repeat.
i.e. using this code:
Code: [Select]
macro 0 SHIFT
       PRESS 6
endmacro
to get a ^ by pressing shift and zero. When I press shift and 0 I get the ^ as intended. But if I keep holding them they don't repeat.
Any suggestions on getting the shifted keys to repeat?

Offline fohat.digs

  • * Elevated Elder
  • Posts: 6462
  • Location: 35°55'N, 83°53'W
  • weird funny old guy
Re: Soarer's Keyboard Controller firmware
« Reply #29 on: Sat, 13 September 2014, 09:13:57 »
Where is Soarer?

We keep seeing the question but no answer.

Does anybody know whether he is OK?
State Freedom Caucus News 2024
Missouri state Senator Nick Schroer sponsors a bill that would allow senators to duel one another — in the Senate chambers! – legally.

Offline berserkfan

  • Posts: 2135
  • Location: Not CONUS Not CONUS Not CONUS Not CONUS
  • changing diapers is more fun than model f assembly
Re: Soarer's Keyboard Controller firmware
« Reply #30 on: Sun, 14 September 2014, 13:04:39 »
Where is Soarer?

We keep seeing the question but no answer.

Does anybody know whether he is OK?

I also tried contacting Soarer several times in the past few months but there was no reply.

I hope his absence is caused by life changes (eg marriage) rather than tragedy (eg shot down over Ukraine).
Most of the modding can be done on your own once you break through the psychological barriers.

Offline alinh

  • Posts: 17
Re: Soarer's Keyboard Controller firmware
« Reply #31 on: Mon, 03 November 2014, 12:39:24 »
Seems I can't download the controller in soarer's signature : http://geekhack.org/index.php?action=dlattach;topic=50437.0;attach=42393

I keep getting "Connection closed at byte 48608. Retrying". managed to download 48.6kB so far. Anyone knows of a mirror?

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #32 on: Mon, 03 November 2014, 13:07:14 »
you should be able to download it from DT:
http://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-with-nkro-t2510.html (documentation)
http://deskthority.net/workshop-f7/soarer-s-keyboard-controller-firmware-t6767.html?hilit=controller (firmware)

PM me if you still can't get it and I'll see if I can find a host somewhere.

Offline SpAmRaY

  • NOT a Moderator
  • * Certified Spammer
  • Posts: 14667
  • Location: ¯\(°_o)/¯
  • because reasons.......
Re: Soarer's Keyboard Controller firmware
« Reply #33 on: Mon, 03 November 2014, 13:20:02 »
link is currently working for me  8)
« Last Edit: Mon, 03 November 2014, 13:21:54 by SpAmRaY »

Offline alinh

  • Posts: 17
Re: Soarer's Keyboard Controller firmware
« Reply #34 on: Mon, 03 November 2014, 13:56:28 »
you should be able to download it from DT:
http://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-with-nkro-t2510.html (documentation)
http://deskthority.net/workshop-f7/soarer-s-keyboard-controller-firmware-t6767.html?hilit=controller (firmware)

PM me if you still can't get it and I'll see if I can find a host somewhere.

the DT link worked, thanks! I kept finding only the converter page :S

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #35 on: Sat, 29 November 2014, 20:48:12 »
how to apply soarer firmware to teensy?
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #36 on: Fri, 05 December 2014, 12:02:15 »
i drag n drop but error like this :-X
Code: [Select]
error at line 4: invalid argument:1
whats wrong with my matrix?
Code: [Select]
matrix
     blocking 0
 
sense 1 0 2 3 4 5 6 10 16 14 15 18 19 20
strobe F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe 7 UNASSIGNED  q w e r t delete escape y u i o p UNASSIGNED 
strobe 8 UNASSIGNED  a s d f g tab enter h j k l semicolon    quote
strobe 9 UNASSIGNED  z x c v b caps enter n m comma period slash UNASSIGNED 
strobe 21 lalt lctrl lctrl lshift space FN1 FN2 backspace rshift ralt ralt rctrl

end

layerblock
   FN1       1
   FN2       1      # One for each hand, where available
   FN1 FN2      2      # Press them both for a hard to reach second layer
endblock

# Layerin' time
remapblock
layer 1


# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE_BREAK
R PRINT_SCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESCAPE INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP


# FN2
Q PLUS
A 4
Z *
W (
S 3
X LEFT_BRACKET
E )
D 2
C RIGHT_BRACKET
R !
F 1
V @
T MINUS
G 5
B /
Y "
H 6
N _
U ?
J 0
M &
I {
K 9
COMMA
O }
L 8
PERIOD equal
P %
SEMICOLON 7
SLASH |

endblock
                                             
 :thumb:
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #37 on: Fri, 05 December 2014, 13:31:20 »
i drag n drop but error like this :-X
Code: [Select]
error at line 4: invalid argument:1
whats wrong with my matrix?
Code: [Select]

sense 1 0 2 3 4 5 6 10 16 14 15 18 19 20
                                             
 :thumb:


Here's line 4: This issue is that you can't have "sense" and then pin numbers, you need to use the teensy pin names. Here's an example from my ergodox:
Code: [Select]
matrix
    blocking 0

    sense PF0 PF1 PF4 PF5 PF6 PF7

    strobe  PB0 FN1 FN2 UNASSIGNED FN3 UNASSIGNED END
    strobe  PB1 5 T G B UNASSIGNED HOME
    strobe  PB2 4 R F V RIGHT PAGE_UP
    strobe  PB3 3 E D C DOWN SPACE
    strobe  PD2 2 W S X UP ENTER
    strobe  PD3 1 Q A Z LEFT PAGE_DOWN
    strobe  PC6 ESC TAB CAPS_LOCK LSHIFT LCTRL UNASSIGNED
END

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #38 on: Fri, 05 December 2014, 23:59:22 »
Here's line 4: This issue is that you can't have "sense" and then pin numbers, you need to use the teensy pin names. Here's an example from my ergodox:
Code: [Select]
matrix
    blocking 0

    sense PF0 PF1 PF4 PF5 PF6 PF7

    strobe  PB0 FN1 FN2 UNASSIGNED FN3 UNASSIGNED END
    strobe  PB1 5 T G B UNASSIGNED HOME
    strobe  PB2 4 R F V RIGHT PAGE_UP
    strobe  PB3 3 E D C DOWN SPACE
    strobe  PD2 2 W S X UP ENTER
    strobe  PD3 1 Q A Z LEFT PAGE_DOWN
    strobe  PC6 ESC TAB CAPS_LOCK LSHIFT LCTRL UNASSIGNED
END
i use pro micro i think its use number
i've edited like https://geekhack.org/index.php?topic=63227.msg1482014#msg1482014

Code: [Select]
matrix
    blocking 0

sense PD3         PD2 PD1 PD0 PD4 PC6 PD7 PB6 PB2 PB3 PB1 PF7 PF6 PF5
strobe F1              F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 UNASSIGNED  q w e r t delete escape y u i o p UNASSIGNED 
strobe PB4 UNASSIGNED  a s d f g tab enter h j k l semicolon    quote
strobe PB5 UNASSIGNED  z x c v b caps enter n m comma period slash UNASSIGNED 
strobe PF4         lalt lctrl lctrl lshift space FN1 FN2 backspace rshift ralt ralt rctrl

end

layerblock
   FN1       1
   FN2       1      # One for each hand, where available
   FN1 FN2      2      # Press them both for a hard to reach second layer
endblock

# Layerin' time
remapblock
layer 1


# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE_BREAK
R PRINT_SCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESCAPE INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP


# FN2
Q PLUS
A 4
Z *
W (
S 3
X LEFT_BRACKET
E )
D 2
C RIGHT_BRACKET
R !
F 1
V @
T MINUS
G 5
B /
Y "
H 6
N _
U ?
J 0
M &
I {
K 9
COMMA
O }
L 8
PERIOD equal
P %
SEMICOLON 7
SLASH |

endblock
i got problem again :-X
Code: [Select]
error at line 5: invalid argument:F1
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #39 on: Sat, 06 December 2014, 03:54:57 »
Code: [Select]
matrix
    blocking 0

sense PD3         PD2 PD1 PD0 PD4 PC6 PD7 PB6 PB2 PB3 PB1 PF7 PF6 PF5
strobe PIN F1              F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 UNASSIGNED  q w e r t delete escape y u i o p UNASSIGNED 
strobe PB4 UNASSIGNED  a s d f g tab enter h j k l semicolon    quote
strobe PB5 UNASSIGNED  z x c v b caps enter n m comma period slash UNASSIGNED 
strobe PF4         lalt lctrl lctrl lshift space FN1 FN2 backspace rshift ralt ralt rctrl

end
i got problem again :-X
Code: [Select]
error at line 5: invalid argument:F1
You need a pin where I added PIN on line 5, you've jumped straight to a key name :)

Also you have some spaces between keys, I think they need to be filled with UNASSIGNED (but don't quote me on that, I've not quite got that far myself...)
« Last Edit: Sat, 06 December 2014, 03:58:39 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #40 on: Sat, 06 December 2014, 04:16:37 »
Code: [Select]
matrix
    blocking 0

sense PD3         PD2 PD1 PD0 PD4 PC6 PD7 PB6 PB2 PB3 PB1 PF7 PF6 PF5
strobe    "PIN" F1              F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 UNASSIGNED  q w e r t delete escape y u i o p UNASSIGNED 
strobe PB4 UNASSIGNED  a s d f g tab enter h j k l semicolon    quote
strobe PB5 UNASSIGNED  z x c v b caps enter n m comma period slash UNASSIGNED 
strobe PF4         lalt lctrl lctrl lshift space FN1 FN2 backspace rshift ralt ralt rctrl

end
i got problem again :-X
Code: [Select]
error at line 5: invalid argument:F1
You need a pin where I added PIN on line 5, you've jumped straight to a key name :)

Also you have some spaces between keys, I think they need to be filled with UNASSIGNED (but don't quote me on that, I've not quite got that far myself...)
nah its no pin actually :D not enough pins, so what right name there instead "strobe"?
you mean in cols PD7 and PB6? :)
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #41 on: Sat, 06 December 2014, 06:48:49 »
Quote from: yasuo link=topic=50437.msg
nah its no pin actually :D not enough pins, so what right name there instead "strobe"?

If there's no pin where I added PIN then your FX keys won't work - all keys need to be connected between two pins or they can't be detected.  If you don't want them you can delete the whole line...  That doesn't sound very useful though!

Quote
you mean in cols PD7 and PB6? :)

Yup, and PD3/PF4 (under F1) :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #42 on: Sat, 06 December 2014, 07:52:52 »
If there's no pin where I added PIN then your FX keys won't work - all keys need to be connected between two pins or they can't be detected.  If you don't want them you can delete the whole line...  That doesn't sound very useful though!
can i connect diode F-ROW to QWER-ROW with wire
so F-ROW is PE6? :)
Quote
Yup, and PD3/PF4 (under F1) :)
good

« Last Edit: Sat, 06 December 2014, 07:54:46 by yasuo »
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #43 on: Sat, 06 December 2014, 08:19:59 »
can i connect diode F-ROW to QWER-ROW with wire
so F-ROW is PE6? :)
Short answer:  No.  If you did that the keyboard wouldn't know the difference between F2 and Q, F3 and W etc as they'd send the same signal.

I don't know what board you have and how hard it would be, but if I were you I would connect the F1 key in the space under PD7 then you can use use PD3 for the strobe line for the FX keys.  If you're cutting any traces be sure to keep the diode attached to the switch.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #44 on: Sat, 06 December 2014, 09:30:00 »
sorry I'm slow
can i connect diode F-ROW to QWER-ROW with wire
so F-ROW is PE6? :)
Short answer:  No.  If you did that the keyboard wouldn't know the difference between F2 and Q, F3 and W etc as they'd send the same signal.
my bad :))
Quote
I don't know what board you have and how hard it would be, but if I were you I would connect the F1 key in the space under PD7 then you can use use PD3 for the strobe line for the FX keys.  If you're cutting any traces be sure to keep the diode attached to the switch.
btw the 3 UNASSIGNED under F1 actually have switches i just confused for choose key placed there now
so i cant leave them                                                 
can u write here :)
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #45 on: Sat, 06 December 2014, 11:54:31 »
btw the 3 UNASSIGNED under F1 actually have switches i just confused for choose key placed there now
so i cant leave them                                                 
can u write here :)
Write what? :))

I just tried to rework your matrix and got confused - you have two of each of ENTER, LCTRL and RALT in there?  Might make sense if this is a split keyboard, but something tells me you're looking at the layout of the actual keys rather than the matrix they're connected to, so the big keys are on there twice.  Unless you hand-wired the matrix to mirror the keys?  What keyboard are you working on??

You would have enough pins if you could change the matrix, currently it's 14x5 (max 70 keys) but you only have 18 pins - a 12x6 matrix would give you 72 keys which would work, but as you're using nearly every possible option you might have issues with ghosting.

A 10x8 is more typical and that would be 80 keys so you could try and put the UNASSIGNEDs where the ghosts would be, but how you'd go about that is beyond my newbie knowledge level.

120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #46 on: Sat, 06 December 2014, 21:25:25 »
i use pro micro i think its use number

pro micro does not have enough pins for a large keyboard. If you want to use this with a number pad or tenkey or something it could work otherwise there's not enough.

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #47 on: Sat, 06 December 2014, 22:38:58 »
I just tried to rework your matrix and got confused - you have two of each of ENTER, LCTRL and RALT in there?  Might make sense if this is a split keyboard, but something tells me you're looking at the layout of the actual keys rather than the matrix they're connected to, so the big keys are on there twice.  Unless you hand-wired the matrix to mirror the keys?  What keyboard are you working on??

You would have enough pins if you could change the matrix, currently it's 14x5 (max 70 keys) but you only have 18 pins - a 12x6 matrix would give you 72 keys which would work, but as you're using nearly every possible option you might have issues with ghosting.

A 10x8 is more typical and that would be 80 keys so you could try and put the UNASSIGNEDs where the ghosts would be, but how you'd go about that is beyond my newbie knowledge level.
double enter, lctrl and ralt actually dual switch for stabs, but i could choose one
yup split keyboard, i just make same left/right side handwired to easy write matrix
yup 14x5, 12x6 interisting can u write here yup i need NKRO indeed to try plover
pro micro does not have enough pins for a large keyboard. If you want to use this with a number pad or tenkey or something it could work otherwise there's not enough.
pro micro only less one pins again :-X
i have teensy but broken after desoldering may some pins stil can used i will check again
Logitech MK220 Colemak DH
SplitSyml by Moz BlacksMx fuk blacks

2/3 8.5pm                                          in de la my september month ya da all get my fukka "fake message"

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #48 on: Sun, 07 December 2014, 05:24:29 »
I will bow to dorkvader's far greater experience - if he says you need more pins you need more pins so there's no point trying to work out a manageable matrix.

Good luck with reincarnating your teensy :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #49 on: Sun, 07 December 2014, 10:29:12 »
I will bow to dorkvader's far greater experience - if he says you need more pins you need more pins so there's no point trying to work out a manageable matrix.

Good luck with reincarnating your teensy :)

nono I don't have that much expertise when it comes to hard-wiring a matrix. If your arduino pro micro has enough pins it can work.

Here's a picture showing the "teensy pin names" for the arduino pro micro. It will help you find the correct "name" in the firmware file.


relevant guide:
http://deskthority.net/workshop-f7/how-to-use-a-pro-micro-as-a-cheap-controller-converter-like-soarer-s-t8448.html