~ruther/qmk_firmware

21dbae5d46e495e52e9cbca463a07fa6abe9ce88 — noroadsleft 7 years ago 7b2b9b6
JJ50 Refactor and updates (#3241)

* Matrix Refactor

* Configurator update

* Rules update: add LAYOUTS = ortho_5x12

* Readme update
4 files changed, 34 insertions(+), 26 deletions(-)

M keyboards/jj50/README.md
A keyboards/jj50/info.json
M keyboards/jj50/jj50.h
M keyboards/jj50/rules.mk
M keyboards/jj50/README.md => keyboards/jj50/README.md +4 -4
@@ 2,7 2,7 @@ JJ50
==========================

This is a port of the QMK firmware for boards that are based on the
ps2avrGB firmware, like the [ps2avrGB keyboard] (https://www.keyclack.com/product/gb-ps2avrgb/), for use on the JJ50, a preonic-like board.
ps2avrGB firmware, like the [ps2avrGB keyboard](https://www.keyclack.com/product/gb-ps2avrgb/), for use on the JJ50, a preonic-like board.

Most of the code was taken and amended from YMD96, which in itself was taken from ps2avrGB and amended by Andrew Novak.



@@ 10,10 10,10 @@ Note that this is a complete replacement for the firmware, so you won't be
using Bootmapper Client to change any keyboard settings, since not all the
USB report options are supported.  

Hardware Supported: JJ50 with the ATmega32a chip.
Hardware Availability: The JJ50 PCB is available from kprepublic on AliExpress and suchlike.
Hardware Supported: JJ50 with the ATmega32a chip.  
Hardware Availability: [KPrepublic on AliExpress](https://www.aliexpress.com/item/jj50-v1-0-Custom-Mechanical-Keyboard-50-PCB-programmed-50-preonic-layouts-bface-firmware-with-rgb/32848915277.html)

This version by Wayne K Jones (github.com/WarmCatUK)
This version by [Wayne K. Jones](github.com/WarmCatUK).


## Installing and Building

A keyboards/jj50/info.json => keyboards/jj50/info.json +13 -0
@@ 0,0 1,13 @@
{
  "keyboard_name": "JJ50",
  "url": "",
  "maintainer": "qmk",
  "width": 12,
  "height": 5,
  "layouts": {
    "LAYOUT_ortho_5x12": {
      "key_count": 60,
      "layout": [{"label":"K011", "x":0, "y":0}, {"label":"K010", "x":1, "y":0}, {"label":"K009", "x":2, "y":0}, {"label":"K008", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K003", "x":8, "y":0}, {"label":"K002", "x":9, "y":0}, {"label":"K201", "x":10, "y":0}, {"label":"K000", "x":11, "y":0}, {"label":"K111", "x":0, "y":1}, {"label":"K110", "x":1, "y":1}, {"label":"K109", "x":2, "y":1}, {"label":"K108", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K103", "x":8, "y":1}, {"label":"K102", "x":9, "y":1}, {"label":"K001", "x":10, "y":1}, {"label":"K100", "x":11, "y":1}, {"label":"K211", "x":0, "y":2}, {"label":"K210", "x":1, "y":2}, {"label":"K209", "x":2, "y":2}, {"label":"K208", "x":3, "y":2}, {"label":"K204", "x":4, "y":2}, {"label":"K205", "x":5, "y":2}, {"label":"K206", "x":6, "y":2}, {"label":"K207", "x":7, "y":2}, {"label":"K203", "x":8, "y":2}, {"label":"K202", "x":9, "y":2}, {"label":"K101", "x":10, "y":2}, {"label":"K200", "x":11, "y":2}, {"label":"K311", "x":0, "y":3}, {"label":"K310", "x":1, "y":3}, {"label":"K309", "x":2, "y":3}, {"label":"K308", "x":3, "y":3}, {"label":"K304", "x":4, "y":3}, {"label":"K305", "x":5, "y":3}, {"label":"K306", "x":6, "y":3}, {"label":"K307", "x":7, "y":3}, {"label":"K303", "x":8, "y":3}, {"label":"K302", "x":9, "y":3}, {"label":"K301", "x":10, "y":3}, {"label":"K300", "x":11, "y":3}, {"label":"K411", "x":0, "y":4}, {"label":"K410", "x":1, "y":4}, {"label":"K409", "x":2, "y":4}, {"label":"K408", "x":3, "y":4}, {"label":"K404", "x":4, "y":4}, {"label":"K405", "x":5, "y":4}, {"label":"K406", "x":6, "y":4}, {"label":"K407", "x":7, "y":4}, {"label":"K403", "x":8, "y":4}, {"label":"K402", "x":9, "y":4}, {"label":"K401", "x":10, "y":4}, {"label":"K400", "x":11, "y":4}]
    }
  }
}

M keyboards/jj50/jj50.h => keyboards/jj50/jj50.h +14 -21
@@ 2,7 2,7 @@
Base Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
Modified 2017 Andrew Novak <ndrw.nvk@gmail.com>
Modified 2018 Wayne Jones (WarmCatUK) <waynekjones@gmail.com>
 

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or


@@ 27,27 27,20 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

void matrix_init_user(void);

#define LAYOUT( \
K011, K010, K009, K008, K004, K005, K006, K007, K003, K002, K201, K000, \
K111, K110, K109, K108, K104, K105, K106, K107, K103, K102, K001, K100, \
K211, K210, K209, K208, K204, K205, K206, K207, K203, K202, K101, K200, \
K311, K310, K309, K308, K304, K305, K306, K307, K303, K302, K301, K300, \
K411, K410, K409, K408, K404, K405, K406, K407, K403, K402, K401, K400  \
#define LAYOUT_ortho_5x12( \
    K011, K010, K009, K008, K004, K005, K006, K007, K003, K002, K201, K000, \
    K111, K110, K109, K108, K104, K105, K106, K107, K103, K102, K001, K100, \
    K211, K210, K209, K208, K204, K205, K206, K207, K203, K202, K101, K200, \
    K311, K310, K309, K308, K304, K305, K306, K307, K303, K302, K301, K300, \
    K411, K410, K409, K408, K404, K405, K406, K407, K403, K402, K401, K400  \
) { \
{ K100, K001, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, }, \
{ K200, K101, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, }, \
{ K000, K201, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, }, \
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411 },  \
  { K100, K001, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, }, \
  { K200, K101, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, }, \
  { K000, K201, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, }, \
  { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, }, \
  { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411  }  \
}

#endif








#define LAYOUT LAYOUT_ortho_5x12

#endif

M keyboards/jj50/rules.mk => keyboards/jj50/rules.mk +3 -1
@@ 27,7 27,7 @@ F_CPU = 12000000

# Bootloader
#     This definition is optional, and if your keyboard supports multiple bootloaders of
#     different sizes, comment this out, and the correct address will be loaded 
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
BOOTLOADER = bootloadHID



@@ 63,3 63,5 @@ endif

# programming options
PROGRAM_CMD = ./keyboards/ps2avrGB/program $(TARGET).hex

LAYOUTS = ortho_5x12