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

Neo2 sa su #1

Open
wants to merge 285 commits into
base: master
Choose a base branch
from
Open

Neo2 sa su #1

wants to merge 285 commits into from

Conversation

xstable
Copy link

@xstable xstable commented Dec 15, 2014

Some changes of neo2-Layout:
Have changed mod4 Numpad to normal digits, so you don't have to toggle numlock always if you first use it after boot.
I've also add some operations like ,+*/: to this mod4 which are arround the tenblock.

I've also changed the F1-F12 Layer to have all the F-Keys on left-side (better if you use the mouse), and add ALT + CTRL to this Layer.

- did not move any of the layer-stack code into code for a  'flex-array'
  type, or something similar.  i'm thinking that most of the things the
  layer-stack does aren't sufficiently generalizable. for instance, one
  of the biggest general functions in the layer-stack implementation is
  `_shift_elements()`; but shifing elements is only something you want
  to do when you're messing with elements not on the the top of the
  stack (which breaks the definition of a general stack).  so i think
  i'll leave things as they are for now.  the functionality can always
  be split out later if it turns out to be needed elsewhere.
one bug left to fix before it's actually doing what it's supposed to

scanning at about 140Hz :D , and only slightly bigger than the old
firmware (though, with many fewer layers compiled in...) (also, the
winavr makefile gets the hex to be smaller somehow; i should probably
look into that)
lol - i'd forgotten to do this before
where it should have been (and i thought it was) before ... oops :)
Also, I just tested the scan rate without debounce (lol, should have
thought of that before) and it's about 471Hz.  This is much faster than
the 200Hz (every 5ms) that we need to limit ourselves to due to the
switches needing a 5ms debounce time.  It should be trivial to tune the
scan rate to closer to 200Hz once I get lib/timer implemented.
untested, but it should work.  i'll test before pushing to github, and
update if i messed anything up
in the while loop in main() that busywaits until we can scan again, the
compiler was optimizing out the function call, it seems like, when i
wrote `(uint8_t)timer__get_milliseconds()`; if i cast the whole
expression (not just the function) to `(volatile uint8_t)`, or if i just
didn't cast anything at all, it worked.  not sure why the compiler would
optimize the function call out like that though, even if it was cast...
this happened when i put it in a for loop too.  i need to research it
just a little more, and write a warning about it in the timer
documentation.
especially relating to the unexpected behavior i was getting last night
tschulte and others added 22 commits June 26, 2014 22:06
I needed to introduce these, because I had a problem with typing "<>".

On my PC configured to use German keyboard layout following happened:

The key ">" was not processed by the OS when "<" was typed just before.
The reason I think is, that normally on a German keyboard "<" and ">"
are on the same key (the key right of the left "shift").

For "<" you press that key. For ">" you have to first release the key
press and hold "shift", and press the key again. This was not possible
with the KEYS__DEFAULT and KEYS__SHIFTED macros.

Therefore I introduced the TYPE__ macros. They do all the work, i.e.
send a press followed by a release to the OS. With these macros it is
not possible any more to use repeating of keys at the OS level, but for
me this is no problem, because I don't use this for normal keys. Maybe
this is a problem with shortcut combinations, where multiple keys need
to be pressed simultaniously.

Since the ALT_GR macros where also doing all the work on key press, I
renamed them to TYPE__, to reflect this.
Conflicts:
	makefile
	readme.md
	src/keyboard/ergodox/controller/mcp23018.md
	src/lib-other/pjrc/usb_keyboard/usb_keyboard.c
	src/lib-other/pjrc/usb_keyboard/usb_keyboard.h
	src/lib/key-functions/private.c
	src/lib/key-functions/private.h
	src/lib/key-functions/public.h
	src/lib/key-functions/public/basic.c
	src/lib/key-functions/public/special.c
	src/lib/usb/usage-page/keyboard.h
	src/main.c
	src/main.h
	src/makefile
Conflicts:
	firmware/keyboard/ergodox/options.mk
	readme.md
ESC liegt: 4. Reihe, 1. Taste
INS	liegt: 4. Reihe, 3. Taste
Strg (CTRL)-Taste auf diese Taste gesetzt, damit man bei umschaltung auf
mod4 mit dem kleinen Finger die STRG-Taste leichter erreicht, um z.B.
Wortweise mit dem Cursor vor oder zurück springen zu können.
@tschulte
Copy link
Owner

@xstable I think you wanted to merge into my neo2 branch.

About the num-keys from the tenblock: I don't remember exactly why I chose the tenkey instead of the normal keys, but I think it was because at work I use Winsplit Revolution to move windows between my monitors or to maximize windows or split them. And the default is use Ctrl+Alt+tenkey5 to maximize a window. But that should be configurable (and I am trying to use Linux at work as well). I have had issues with numlock not being enabled by default myself. But for this I have the guest-keyboard still attached.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants