Author Topic: Soarer's Keyboard Controller firmware  (Read 63227 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: 4947
  • 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: 6284
  • 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: 4947
  • 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: 6284
  • 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: 3247
  • 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 »
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline dorkvader

  • Posts: 6284
  • 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: 2136
  • 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: 6055
  • 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?
“The mass of Trump companies is justifiably called Byzantine. It’s a deliberate labyrinth of connections, some of them intended to maximize Trump’s tax benefits — like the company that supposedly owns Trump’s planes and leases them to the other companies, all of which are just Trump, allowing for a double-dip on deductions. Other companies seem to exist for no purpose other than to make investigating Trump’s finances more complicated and more difficult to penetrate.”
– Marc Sumner 2019-05-19

Offline berserkfan

  • Posts: 2136
  • 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: 6284
  • 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: 14668
  • 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: 6284
  • 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: 4302
  • 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: 4302
  • 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: 4302
  • 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: 4302
  • 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: 6284
  • 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: 4302
  • 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: 6284
  • 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

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #50 on: Thu, 11 December 2014, 23:35:44 »
yup moz help me make 12x6 matrix really nice this is problem solved
but still get pain with soarer controller
i get a lot invalid command from this
is soarer controller dont have individual symbol?
Code: [Select]
# 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 UNASSIGNED 
O }
L 8
PERIOD equal
P %
SEMICOLON 7
SLASH |

endblock
                                          
                                             
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 #51 on: Sat, 13 December 2014, 03:08:39 »
i rewrite my firmware then complie to promicro nah the keyboard when i press show qwertttt gggggggg some random :confused:
what problem? how to i reset pro micro?
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: 4302
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #52 on: Sat, 13 December 2014, 16:29:36 »
i rewrite my firmware then complie to promicro nah the keyboard when i press show qwertttt gggggggg some random :confused:
what problem? how to i reset pro micro?
I think what you're saying is that sometimes keys repeat?  If so is it any key at random or only certain keys?  T and G are probably connected in the matrix so looks like you may have a wiring problem...

It would be helpful if you posted your full config file :)
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 #53 on: Sun, 14 December 2014, 08:44:15 »
i rewrite my firmware then complie to promicro nah the keyboard when i press show qwertttt gggggggg some random :confused:
what problem? how to i reset pro micro?
I think what you're saying is that sometimes keys repeat?  If so is it any key at random or only certain keys?  T and G are probably connected in the matrix so looks like you may have a wiring problem...

It would be helpful if you posted your full config file :)

i think my handwired indeed
and some keys not show when i press
i almost boring with this is project
Code: [Select]
matrix
     blocking 0
 
sense PD3 PD2 PD1 PD0 PD4 PC6 PB3 PB1 PF7 PF6 PF5 PF4
strobe PD7 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 q w e r t delete esc y u i o p
strobe PB4 a s d f g tab enter h j k l semicolon
strobe PB5 z x c v b caps_lock enter n m comma period slash
strobe PB6 lctrl UNASSIGNED  lctrl lshift space FN1 FN2 backspace lshift ralt UNASSIGNED  ralt
strobe PB2 UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  quote UNASSIGNED  UNASSIGNED 

end

layerblock
   FN1        1      # One for each hand, where available
   FN2          1      # One for each hand, where available

endblock

# Layerin' time
remapblock
layer 1


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


# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock
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: 4302
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #54 on: Sun, 14 December 2014, 10:19:06 »
OK, that looks good.

Now, which keys are repeating and which not working?  They are probably all in a row or column, if they are that's where your problem lies.

EDIT:  Just noticed you don't have a debounce line which could be responsible for your repeated keypresses.  It goes in the matrix (on a new line after "blocking 0" and in the example file I found it's set to 5 - see if that helps.
« Last Edit: Sun, 14 December 2014, 10:53:32 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline dorkvader

  • Posts: 6284
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #55 on: Sun, 14 December 2014, 11:59:43 »
EDIT:  Just noticed you don't have a debounce line which could be responsible for your repeated keypresses.  It goes in the matrix (on a new line after "blocking 0" and in the example file I found it's set to 5 - see if that helps.
If no debounce is specified, it defaults to #5.
Code: [Select]
matrix
     blocking 0
 
sense PD3 PD2 PD1 PD0 PD4 PC6 PB3 PB1 PF7 PF6 PF5 PF4
strobe PD7 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 q w e r t delete esc y u i o p
strobe PB4 a s d f g tab enter h j k l semicolon
strobe PB5 z x c v b caps_lock enter n m comma period slash
strobe PB6 lctrl UNASSIGNED  lctrl lshift space FN1 FN2 backspace lshift ralt UNASSIGNED  ralt
strobe PB2 UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  quote UNASSIGNED  UNASSIGNED 

end

layerblock
   FN1        1      # One for each hand, where available
   FN2          1      # One for each hand, where available

endblock

# Layerin' time
remapblock
layer 1


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


# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock


I edit the code a little so I can read it better on my text editor
Code: [Select]
sense PD3 PD2 PD1 PD0 PD4 PC6 PB3 PB1 PF7 PF6 PF5 PF4
strobe PD7 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 q w e r t delete esc y u i o p
strobe PB4 a s d f g tab enter h j k l semicolon
strobe PB5 z x c v b caps_lock enter n m comma period slash
strobe PB6 lctrl UNASSIGNED  lctrl lshift space FN1 FN2 backspace lshift ralt UNASSIGNED  ralt
strobe PB2 UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  quote UNASSIGNED  UNASSIGNED
^this part looks good. I wanted to make sure the keys were assigned right.
Code: [Select]

layerblock
   FN1        1      # One for each hand, where available
   FN2          1      # One for each hand, where available

endblock
^ also looks good. This has two keys both select the same function layer However, a better way would probably be to just have two FN1 keys on your KB. code would change to this:

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



end

layerblock
   FN1        1
   FN2          2
endblock
^See that fn2 switches to layer2

In soarer's example
Code: [Select]
layerblock
    FN1 1
    FN2 1
    FN1 FN2 2
endblock
^soarer's example: pressing either the FN1 or FN2 buttons activates the layer 1 while pressing them both activates layer 2

Code: [Select]
# Layerin' time
remapblock
layer 1
^ I like "layerin' time" made me smile. This part is correct.

Code: [Select]
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP


# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock

This part is probably incorrect, if you want fn2 to switch those keys you have to define it differently.  here's what I would do
Code: [Select]
layer 1
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP
endblock

remapblock
layer 2
# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock
^this makes it so that pressing FN1 activates layer 1 and the first set of changes whereas pressing FN2 activates layer2 and the second set of changes.

You can do it some other ways, and have "locking" or "toggle" layers with using "select" and "ifselect".

Entire code:
Code: [Select]
#######################################
#        Soarer Code for Yasuo        #
#           custom keyboard           #
#         Edited by dorkvader         #
#######################################

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



end

layerblock
   FN1        1      # One for each hand, where available
   FN2          2      # One for each hand, where available

endblock

# Layerin' time
remapblock
layer 1
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP
endblock

remapblock
layer 2
# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock
« Last Edit: Sun, 14 December 2014, 14:08:28 by dorkvader »

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4302
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #56 on: Sun, 14 December 2014, 12:25:01 »
If no debounce is specified, it defaults to #5.
Noted :)

On a complete tangent do LEDs actually work?  I added "led caps PF1" as described in the docs but whether before the matrix, after the matrix or in the matrix scas doesn't like it:
Code: [Select]
suicidal_orange@mini:~/Soarer tools$ ./scas out.sc out.scb
scas v1.20
error at line 2: invalid argument: PF1
I've tried other pins too.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline dorkvader

  • Posts: 6284
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Soarer's Keyboard Controller firmware
« Reply #57 on: Sun, 14 December 2014, 14:19:31 »
If no debounce is specified, it defaults to #5.
Noted :)

On a complete tangent do LEDs actually work?  I added "led caps PF1" as described in the docs but whether before the matrix, after the matrix or in the matrix scas doesn't like it:
Code: [Select]
suicidal_orange@mini:~/Soarer tools$ ./scas out.sc out.scb
scas v1.20
error at line 2: invalid argument: PF1
I've tried other pins too.

Position in the config file doesn't make a difference. It'll just tell you if anything failed before then :p

I don't use indicator LEDs so I haven't  tried it myself, but that should work, I can't imagine why it's not compiling as it's specifically mentioned in the controller firmware, of which there is only one version. I can test it a little on my own.

If you look in the provided sample config files, the kevex-retrete.sc lists some LEDs under "led caps -PF5" etc. I test compiled it into a SCB using scas on windows and it works. Same with the "mini matrix" for his own project.

maybe wire up the LED in reverse and use the negative option?

EDIT: got an error when I did not use the - option on LED. Then I thought of something.

For positive LED (in your case) make it "LED caps +PF1" should work. I changed it in my kevex test file and got no errors.

It's a mistake in the documentation.

Offline yasuo

  • Posts: 978
  • Location: ID
  • spanengan puyeng newbie
Re: Soarer's Keyboard Controller firmware
« Reply #58 on: Sun, 14 December 2014, 16:48:17 »
thats amagic i slow
OK, that looks good.

Now, which keys are repeating and which not working?  They are probably all in a row or column, if they are that's where your problem lies.

EDIT:  Just noticed you don't have a debounce line which could be responsible for your repeated keypresses.  It goes in the matrix (on a new line after "blocking 0" and in the example file I found it's set to 5 - see if that helps.
almost all keys, when i plug to pc it show gggggggggggg
i've try it and with added scanrate but not fix, i've desoldered my handwired
EDIT:  Just noticed you don't have a debounce line which could be responsible for your repeated keypresses.  It goes in the matrix (on a new line after "blocking 0" and in the example file I found it's set to 5 - see if that helps.
If no debounce is specified, it defaults to #5.
Code: [Select]
matrix
     blocking 0
 
sense PD3 PD2 PD1 PD0 PD4 PC6 PB3 PB1 PF7 PF6 PF5 PF4
strobe PD7 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 q w e r t delete esc y u i o p
strobe PB4 a s d f g tab enter h j k l semicolon
strobe PB5 z x c v b caps_lock enter n m comma period slash
strobe PB6 lctrl UNASSIGNED  lctrl lshift space FN1 FN2 backspace lshift ralt UNASSIGNED  ralt
strobe PB2 UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  quote UNASSIGNED  UNASSIGNED 

end

layerblock
   FN1        1      # One for each hand, where available
   FN2          1      # One for each hand, where available

endblock

# Layerin' time
remapblock
layer 1


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


# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock


I edit the code a little so I can read it better on my text editor
Code: [Select]
sense PD3 PD2 PD1 PD0 PD4 PC6 PB3 PB1 PF7 PF6 PF5 PF4
strobe PD7 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
strobe PE6 q w e r t delete esc y u i o p
strobe PB4 a s d f g tab enter h j k l semicolon
strobe PB5 z x c v b caps_lock enter n m comma period slash
strobe PB6 lctrl UNASSIGNED  lctrl lshift space FN1 FN2 backspace lshift ralt UNASSIGNED  ralt
strobe PB2 UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  UNASSIGNED  quote UNASSIGNED  UNASSIGNED
^this part looks good. I wanted to make sure the keys were assigned right.
Code: [Select]

layerblock
   FN1        1      # One for each hand, where available
   FN2          1      # One for each hand, where available

endblock
^ also looks good. This has two keys both select the same function layer However, a better way would probably be to just have two FN1 keys on your KB. code would change to this:

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



end

layerblock
   FN1        1
   FN2          2
endblock
^See that fn2 switches to layer2

In soarer's example
Code: [Select]
layerblock
    FN1 1
    FN2 1
    FN1 FN2 2
endblock
^soarer's example: pressing either the FN1 or FN2 buttons activates the layer 1 while pressing them both activates layer 2

Code: [Select]
# Layerin' time
remapblock
layer 1
^ I like "layerin' time" made me smile. This part is correct.

Code: [Select]
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP


# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock

This part is probably incorrect, if you want fn2 to switch those keys you have to define it differently.  here's what I would do
Code: [Select]
layer 1
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP
endblock

remapblock
layer 2
# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock
^this makes it so that pressing FN1 activates layer 1 and the first set of changes whereas pressing FN2 activates layer2 and the second set of changes.

You can do it some other ways, and have "locking" or "toggle" layers with using "select" and "ifselect".

Entire code:
Code: [Select]
#######################################
#        Soarer Code for Yasuo        #
#           custom keyboard           #
#         Edited by dorkvader         #
#######################################

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



end

layerblock
   FN1        1      # One for each hand, where available
   FN2          2      # One for each hand, where available

endblock

# Layerin' time
remapblock
layer 1
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP
endblock

remapblock
layer 2
# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock
amagic :thumb:

« Last Edit: Sun, 14 December 2014, 18:44:00 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: 4302
  • Location: England
Re: Soarer's Keyboard Controller firmware
« Reply #59 on: Mon, 15 December 2014, 02:31:47 »
almost all keys, when i plug to pc it show gggggggggggg
i've try it and with added scanrate but not fix, i've desoldered my handwired
Ouch!  There's a good chance most of it was good :(

You'll have to wire it up again making very sure that all the diodes point the same way and that your sense/strobe connections to the teensy are correct if you want any help, but I can see why you're getting frustrated.
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 #60 on: Sun, 15 February 2015, 22:17:45 »
after break 1 month
^this makes it so that pressing FN1 activates layer 1 and the first set of changes whereas pressing FN2 activates layer2 and the second set of changes.

You can do it some other ways, and have "locking" or "toggle" layers with using "select" and "ifselect".

Entire code:
Code: [Select]
#######################################
#        Soarer Code for Yasuo        #
#           custom keyboard           #
#         Edited by dorkvader         #
#######################################

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



end

layerblock
   FN1        1      # One for each hand, where available
   FN2          2      # One for each hand, where available

endblock

# Layerin' time
remapblock
layer 1
# FN1
E PAGE_UP
S HOME
D PAGE_DOWN
F END
W PAUSE
R PRINTSCREEN
X MEDIA_PREV_TRACK
C MEDIA_NEXT_TRACK
V MEDIA_PLAY_PAUSE
B MEDIA_STOP
ESC INSERT
ENTER BACKSPACE
I UP
J LEFT
K DOWN
L RIGHT
P SCROLL_LOCK
M MEDIA_MUTE
COMMA MEDIA_VOLUME_DOWN
PERIOD MEDIA_VOLUME_UP
endblock

remapblock
layer 2
# FN2
Q UNASSIGNED 
A 4
Z UNASSIGNED 
W equal
S 3
X UNASSIGNED 
E MINUS
D 2
C UNASSIGNED 
R UNASSIGNED 
F 1
V UNASSIGNED 
T UNASSIGNED 
G 5
B UNASSIGNED 
Y QUOTE
H 6
N UNASSIGNED 
U UNASSIGNED
J 0
M UNASSIGNED
I LEFT_BRACE
K 9
COMMA UNASSIGNED 
O RIGHT_BRACE
L 8
PERIOD UNASSIGNED 
P BACKSLASH
SEMICOLON 7
SLASH UNASSIGNED 


endblock
funny the code error at line:7   :))
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 tgujay

  • Posts: 316
  • Location: Kalamazoo
Re: Soarer's Keyboard Controller firmware
« Reply #61 on: Sat, 14 March 2015, 10:59:22 »
So I'm dumb, is there an easy way to flash a firmware to the promicro on Windows?
Gotta collect them all

Offline mougrim

  • Posts: 768
  • Location: Ukraine
Re: Soarer's Keyboard Controller firmware
« Reply #62 on: Sat, 14 March 2015, 11:54:18 »
So I'm dumb, is there an easy way to flash a firmware to the promicro on Windows?

There is. I use Arduino Builder. It's free and easy to use.
IBM AT Model F, Vortexgear Race 3, AEKII (Alps Cream Damped), Metoo Zero (modded to Kailh Box Navy)

Offline tgujay

  • Posts: 316
  • Location: Kalamazoo
Re: Soarer's Keyboard Controller firmware
« Reply #63 on: Sat, 14 March 2015, 12:13:02 »
So I'm dumb, is there an easy way to flash a firmware to the promicro on Windows?

There is. I use Arduino Builder. It's free and easy to use.

I just tried that and I'm getting "no new port found"

When using AVRdude I was getting "Connecting to programmer:" and then nothing would happen.

Did I brick the promicro somehow?
Gotta collect them all

Offline mougrim

  • Posts: 768
  • Location: Ukraine
Re: Soarer's Keyboard Controller firmware
« Reply #64 on: Sat, 14 March 2015, 12:24:48 »
So I'm dumb, is there an easy way to flash a firmware to the promicro on Windows?

There is. I use Arduino Builder. It's free and easy to use.

I just tried that and I'm getting "no new port found"

When using AVRdude I was getting "Connecting to programmer:" and then nothing would happen.

Did I brick the promicro somehow?

Hmm... did you installed drivers from Arduino site?
IBM AT Model F, Vortexgear Race 3, AEKII (Alps Cream Damped), Metoo Zero (modded to Kailh Box Navy)

Offline tgujay

  • Posts: 316
  • Location: Kalamazoo
Re: Soarer's Keyboard Controller firmware
« Reply #65 on: Sat, 14 March 2015, 12:27:23 »
So I'm dumb, is there an easy way to flash a firmware to the promicro on Windows?

There is. I use Arduino Builder. It's free and easy to use.

I just tried that and I'm getting "no new port found"

When using AVRdude I was getting "Connecting to programmer:" and then nothing would happen.

Did I brick the promicro somehow?

Hmm... did you installed drivers from Arduino site?

I believe so, I just tried to flash my other pro micro that isn't soldered to the 4P4C connector and it took to the firmware right away :/
Gotta collect them all

Offline mougrim

  • Posts: 768
  • Location: Ukraine
Re: Soarer's Keyboard Controller firmware
« Reply #66 on: Sat, 14 March 2015, 15:50:37 »
So I'm dumb, is there an easy way to flash a firmware to the promicro on Windows?

There is. I use Arduino Builder. It's free and easy to use.

I just tried that and I'm getting "no new port found"

When using AVRdude I was getting "Connecting to programmer:" and then nothing would happen.

Did I brick the promicro somehow?

Hmm... did you installed drivers from Arduino site?

I believe so, I just tried to flash my other pro micro that isn't soldered to the 4P4C connector and it took to the firmware right away :/

Hmm. Reset it, and while doing it, look for com port number in Device manager. Write it down. Then do it again, and while doing reset you'll have a few seconds to flash some sketch from standard Arduino program (I use blinking LED sketch). After this you should be able to write firmware to arduino with Builder.
IBM AT Model F, Vortexgear Race 3, AEKII (Alps Cream Damped), Metoo Zero (modded to Kailh Box Navy)

Offline SecretV

  • Posts: 6
Re: Soarer's Keyboard Controller firmware
« Reply #67 on: Sun, 26 April 2015, 21:09:45 »
I registered just to say thank you Soarer. I was able to use this firmware to get my AEKII working after removing the PCB and handwiring the keyboard matrix. Layer's and all.

Offline Eszett

  • Posts: 502
  • Supporting the communities Geekhack & Deskthority
Re: Soarer's Keyboard Controller firmware
« Reply #68 on: Sun, 02 August 2015, 12:47:38 »
I'd like to have the combination of FN1 with ENTER for pasting something. But ...
Code: [Select]
layerblock                                                                   
   FN1        1            # define that FN1 accesses layer 1
endblock                                                                   
                                                                   
remapblock             
   layer 1                                                       
   ENTER        PASTE
endblock   
                                                               
... I can't get the HID code "PASTE" to work (in Windows 7, Teensy 2.0), it does not effect any pasting here. I assume it simply is not intended to work? What alternative do I have? I thought about setting up a macro "strg-v" instead, but how do I get a macro into a Fn layer?
« Last Edit: Sun, 02 August 2015, 15:40:57 by Eszett »

Offline JBert

  • Posts: 764
Re: Soarer's Keyboard Controller firmware
« Reply #69 on: Wed, 08 February 2017, 19:05:32 »
Ah, hopefully this can be run on a GH60 as well, that way I can keep using my layers and macros for the Poker.

So I just got my GH60 hardware today...

Turns out this firmware doesn't work because the keys connected to column PD6 go haywire, Soarer's post on DT shows why:

Quote from: Soarer
Yeah, PD6 has the LED on it, and my firmware still uses it - I guess that should be configurable too!

Argh, so close!!
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 invariance

  • Posts: 254
  • Location: Brisbane, Australia
  • ...here with all the other boson's
Re: Soarer's Keyboard Controller firmware
« Reply #70 on: Thu, 09 February 2017, 21:45:38 »
Ah, hopefully this can be run on a GH60 as well, that way I can keep using my layers and macros for the Poker.

So I just got my GH60 hardware today...

Turns out this firmware doesn't work because the keys connected to column PD6 go haywire, Soarer's post on DT shows why:

Quote from: Soarer
Yeah, PD6 has the LED on it, and my firmware still uses it - I guess that should be configurable too!

Argh, so close!!


Hasu noted that it might be possible
Quote
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.
The only BS I
want to hear is
from a Model M:
PN:1391401
DOB: 04FEB87
      Wyse 85      Mtek K104

Offline JBert

  • Posts: 764
Re: Soarer's Keyboard Controller firmware
« Reply #71 on: Tue, 14 February 2017, 14:57:18 »
I've read that post in the meantime, sadly it's still no use seeing how the diodes of the GH60 prevent me from using PD6 as an output - the current just won't flow in any other direction.

I've contacted someone who was reverse engineering Soarer's firmware as a pastime to see if we can somehow neutralize the offending code.


EDIT: Success! See my thread over at Deskthority: https://deskthority.net/workshop-f7/soarer-s-keyboard-controller-firmware-for-atmega32u4-designs-gh60-t15958.html
« Last Edit: Thu, 23 February 2017, 11:48:42 by JBert »
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 AtomicChameleon

  • Posts: 16
Re: Soarer's Keyboard Controller firmware
« Reply #72 on: Tue, 05 June 2018, 21:07:46 »
Wanted to add my text file for a WY-50 that worked with Soarer's Wyse tool and his pinout. When this is dropped onto the scaswr application file it will map your WY-50 with the stock keycap mapping.

Offline 624245305

  • Posts: 19
Re: Soarer's Keyboard Controller firmware
« Reply #73 on: Sat, 23 March 2019, 03:02:27 »
Has the IBM 3178 C2 keyboard keyboard converter been successful?

Offline dabone

  • Posts: 1
Re: Soarer's Keyboard Controller firmware
« Reply #74 on: Thu, 19 September 2019, 15:33:18 »
Please help with a bit of strange matrix ghosting.

I'm using the controller for a commodore 64 keyboard, it uses a 8x8 matrix, with no diode blocking.

Everything works fine for the keyboard, and then I've added the 2 joystick ports. These use 5 signal plus one common. (Up, Down, Left, Right, Fire , Common(gnd))

The joysticks are floating when plugged in, and not being pushed in a direction, but just having J1 plugged in causes the insert key to trigger itself, and the 1 key.
Unplugging the joystick, the key only triggers insert.

Any suggestions on why it's causing this behavior?

Code: [Select]
# Matrix setup for COMMODORE 64

matrix
        scanrate 1
        debounce 5
        blocking 1

# PROMicroPins          13          14           15         20         17          18         19          16         1          PromicroPins
                                                                                                                                        Joy Pins
  sense                 PB6         PB2          PB3        PF4        PF7         PF6        PF5         PB1        PD3

  strobe        PB5     BACKSPACE   ENTER        RIGHT      F7         F1          F3         F5          DOWN       PAD_PERIOD    #12   -J1 6(F)
  strobe        PD0     3           W            A          4          Z           S          E           LSHIFT     PAD_ASTERIX   #6    -J1 2(D)
  strobe        PD4     5           R            D          6          C           F          T           X          PAD_2         #7    -
  strobe        PC6     7           Y            G          8          B           H          U           V          PAD_3         #8    -
  strobe        PD7     9           I            J          0          M           K          O           N          PAD_PLUS      #9    -J1 4(R)
  strobe        PE6     MINUS       P            L          EQUAL      PERIOD      SEMICOLON  LEFT_BRACE  COMMA      PAD_5         #10   -
  strobe        PB4     INSERT      RIGHT_BRACE  QUOTE      HOME       RSHIFT      BACKSLASH  DELETE      SLASH      PAD_MINUS     #11   -J1 3(L)
  strobe        PD1     1           ESC          TAB        2          SPACE       LCTRL      Q           LALT       PAD_SLASH     #5    -J1 1(U)
  strobe        PD2     UNASSIGNED  PAD_2        PAD_8      PAD_0      UNASSIGNED  PAD_6      UNASSIGNED  PAD_4      F10           #2    -J2 8(Common)

# Joypins               |N|         |J2 2(D)|    |J2 1(U)|  |J2 6(F)|  |N|         |J2 4(R)|  |N|         |J2 3(L)|  J1 8 (Common)       
end


macroblock

#Left Shift Keys....

        macro DOWN LSHIFT # Left Shift + Down = Up
                CLEAR_META LSHIFT
                MAKE UP
                onbreak
                BREAK UP
        endmacro
       
        macro RIGHT LSHIFT # Left Shift + Right = Left
                CLEAR_META LSHIFT
                MAKE LEFT
                onbreak
                BREAK LEFT
        endmacro
       
        macro F1 LSHIFT # Left Shift + F1 = F2
                CLEAR_META LSHIFT
                MAKE F2
                onbreak
                BREAK F2
        endmacro
       
        macro F3 LSHIFT # Left Shift + F3 = F4
                CLEAR_META LSHIFT
                MAKE F4
                onbreak
                BREAK F4
        endmacro
       
        macro F5 LSHIFT # Left Shift + F5 = F6
                CLEAR_META LSHIFT
                MAKE F6
                onbreak
                BREAK F6
        endmacro
       
        macro F7 LSHIFT # Left Shift + F7 = F8
                CLEAR_META LSHIFT
                MAKE F8
                onbreak
                BREAK F8
        endmacro
       
        macro F10 LSHIFT # Left Shift + Restore = F12
                CLEAR_META LSHIFT
                MAKE F12
                onbreak
                BREAK F12
        endmacro
       
# ALT Keys (Runstop Key)
       
       
        macro F1 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE F11
                onbreak
                BREAK F11
                endmacro
       
        macro F3 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE BACK_QUOTE
                onbreak
                BREAK BACK_QUOTE
        endmacro
       
        macro F5 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE PAGE_UP
                onbreak
                BREAK PAGE_UP
        endmacro
       
        macro F7 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE PAGE_DOWN
                onbreak
                BREAK PAGE_DOWN
        endmacro
       
        macro F10 LALT # Left Shift + F7 = F8
                BREAK LALT
                MAKE F9
                onbreak
                BREAK F9
        endmacro
       
endblock