Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added 4by3 keyboard #6547

Merged
merged 7 commits into from
Aug 23, 2019
Merged

Added 4by3 keyboard #6547

merged 7 commits into from
Aug 23, 2019

Conversation

eliassjogreen
Copy link
Contributor

@eliassjogreen eliassjogreen commented Aug 15, 2019

Description

Added the 4by3 keypad, a small macro pad using the pro micro.

Also added a few different keymaps to the keypad:

  • arrow_pad
  • default
  • function_horizontal
  • function_vertical_left
  • function_vertical_right
  • numpad_horizontal
  • numpad_vertical_left
  • numpad_vertical_right

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes (or in this case the keyboard) and verified that they work and don't break anything (as well as I can manage).

keyboards/4by3/rules.mk Outdated Show resolved Hide resolved
Copy link
Member

@drashna drashna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, for the most part.

My only issue here, is that we generally denote row by column, not column by row.

So, it would be 3x4, not 4x3.

If you look at the default layouts, you'll see this, as well.

It's a minor thing, but it bugs me.

@noroadsleft
Copy link
Member

This looks good, for the most part.

My only issue here, is that we generally denote row by column, not column by row.

So, it would be 3x4, not 4x3.

If you look at the default layouts, you'll see this, as well.

It's a minor thing, but it bugs me.

It bugs me too. Not only that, the image on the readme says "3by4."

Copy link
Member

@noroadsleft noroadsleft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm also not keen on how the layout macro and keymaps are.

  • Keymaps arrow_pad and default are identical.
    In this case I'd remove arrow_pad and put a readme on default.
  • Keymaps function_vertical_left and function_vertical_right are functionally identical.
    The only difference seems to be the direction the user sets the board (whether the Pro Micro is to the right, facing up; or to the left, facing down). I think the layout macro is a better way to solve this. The keymap should always resemble the physical orientation with respect to the user, IMO.
  • Keymaps numpad_vertical_left and numpad_vertical_right are functionally identical in the same way.

@eliassjogreen
Copy link
Contributor Author

eliassjogreen commented Aug 17, 2019

This looks good, for the most part.
My only issue here, is that we generally denote row by column, not column by row.
So, it would be 3x4, not 4x3.
If you look at the default layouts, you'll see this, as well.
It's a minor thing, but it bugs me.

It bugs me too. Not only that, the image on the readme says "3by4."

The PCB shown in the readme was is only a prototype and the text saying 3by4 was only a typo which has been fixed.

Working on fixing all of the requested changes :).

@eliassjogreen
Copy link
Contributor Author

Also it is not possible to have the macro resemble the physical orientation due to the fact you can only have as many rows as defined in config.h without getting the excess elements in array initializer error.

@drashna
Copy link
Member

drashna commented Aug 17, 2019

@eliassjogreen that's true for the physical matrix, but the LAYOUT macro allows you to remap that matrix to ANYTHING.

For instance, the Planck rev6 is a 4x12 ortho board, but the physical matrix is actually 6x8.

https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/rev6/rev6.h#L89-L104

So, the bottom half is what the physical matrix is, while the is literally any way you want it.

But either way, the board is a 3x4, not a 4x3 . (3 rows, 4 columns).

@eliassjogreen
Copy link
Contributor Author

eliassjogreen commented Aug 17, 2019

Thanks! Got it the otherway around when i got the excess elements in array initializer but now it works fine :D

I also believe i fixed the following issues:

I'm also not keen on how the layout macro and keymaps are.

* Keymaps `arrow_pad` and `default` are identical.
  In this case I'd remove `arrow_pad` and put a readme on `default`.

* Keymaps `function_vertical_left` and `function_vertical_right` are functionally identical.
  The only difference seems to be the direction the user sets the board (whether the Pro Micro is to the right, facing up; or to the left, facing down). I think the layout macro is a better way to solve this. The keymap should always resemble the physical orientation with respect to the user, IMO.

* Keymaps `numpad_vertical_left` and `numpad_vertical_right` are functionally identical in the same way.

keyboards/4by3/info.json Show resolved Hide resolved
keyboards/4by3/info.json Outdated Show resolved Hide resolved
keyboards/4by3/info.json Show resolved Hide resolved
keyboards/4by3/info.json Outdated Show resolved Hide resolved
keyboards/4by3/readme.md Outdated Show resolved Hide resolved
keyboards/4by3/rules.mk Outdated Show resolved Hide resolved
keyboards/4by3/4by3.h Outdated Show resolved Hide resolved
@noroadsleft
Copy link
Member

Thanks!

@noroadsleft noroadsleft merged commit e0f91f3 into qmk:master Aug 23, 2019
Shinichi-Ohki added a commit to Shinichi-Ohki/qmk_firmware that referenced this pull request Aug 27, 2019
* 'master' of https://github.com/qmk/qmk_firmware: (42 commits)
  pegasushoof Specify the bootloader to use :flash (qmk#6614)
  Fix Typo in :flash target for missing bootloader (qmk#6615)
  Mars80 Bug: Physical/Electrical Matrix Mismatch (qmk#6612)
  [Keymap] Redox_w Use layer_state_set_user instead of matrix_scan_user (qmk#6608)
  Added OLED Display autoscroll during periods of OLED data inactivity (qmk#6546)
  Refactor `qmk compile-json` to `qmk compile` (qmk#6592)
  RGB Inidcator example for new van pcbs (qmk#6544)
  Add new 60% Tsangan HHKB layout (qmk#6607)
  [Keyboard] Maartenwut Wonderland PCB (qmk#6492)
  Add 2015 revision of Pegasus Hoof to QMK (qmk#6595)
  [Keyboard] New Keyboard: EVE Meteor (qmk#6565)
  updates the coc
  [Keymap] a keymap to "transform" a jj40 info a simil Alpha28, to enjoy its simplicity and power (qmk#6599)
  [Keyboard] Add JNAO keyboard (qmk#6598)
  [Keymap] ISO keymap for TADA68 with programming in mind (qmk#6597)
  [Keymap] Update to userspace kuchosauroand0 (qmk#6596)
  Add 'bootloadHID' flash target (qmk#5587)
  Add Zadig 101 to docs (qmk#6585)
  Add Soft Serial Speed to Diverge3 keyboard config for compatibility (qmk#5076)
  Added 4by3 keyboard (qmk#6547)
  ...
doughsay pushed a commit to doughsay/qmk_firmware that referenced this pull request Aug 31, 2019
* Added 4by3 keyboard

* Added DEVICE_VER and DESCRIPTION

* Removed F_CPU, F_USB, ARCH, and OPT_DEFS

* Add 3 new LAYOUT macros for orientations and fixes

* Apply suggestions from code review

Co-Authored-By: noroadsleft <[email protected]>

* Added comments to 4by3 and changed info.json

* Update keyboards/4by3/4by3.h

Co-Authored-By: fauxpark <[email protected]>
swanmatch pushed a commit to swanmatch/qmk_firmware that referenced this pull request Sep 3, 2019
* Added 4by3 keyboard

* Added DEVICE_VER and DESCRIPTION

* Removed F_CPU, F_USB, ARCH, and OPT_DEFS

* Add 3 new LAYOUT macros for orientations and fixes

* Apply suggestions from code review

Co-Authored-By: noroadsleft <[email protected]>

* Added comments to 4by3 and changed info.json

* Update keyboards/4by3/4by3.h

Co-Authored-By: fauxpark <[email protected]>
ripxorip pushed a commit to ripxorip/qmk_firmware that referenced this pull request Dec 3, 2019
* Added 4by3 keyboard

* Added DEVICE_VER and DESCRIPTION

* Removed F_CPU, F_USB, ARCH, and OPT_DEFS

* Add 3 new LAYOUT macros for orientations and fixes

* Apply suggestions from code review

Co-Authored-By: noroadsleft <[email protected]>

* Added comments to 4by3 and changed info.json

* Update keyboards/4by3/4by3.h

Co-Authored-By: fauxpark <[email protected]>
ridingqwerty pushed a commit to ridingqwerty/qmk_firmware that referenced this pull request Jan 10, 2020
* Added 4by3 keyboard

* Added DEVICE_VER and DESCRIPTION

* Removed F_CPU, F_USB, ARCH, and OPT_DEFS

* Add 3 new LAYOUT macros for orientations and fixes

* Apply suggestions from code review

Co-Authored-By: noroadsleft <[email protected]>

* Added comments to 4by3 and changed info.json

* Update keyboards/4by3/4by3.h

Co-Authored-By: fauxpark <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants