Commit Graph
198 Commits
Author SHA1 Message Date
Gergely Nagy e758e088a7 Rework the keyboard layout handling
We now use a 32-bit structure to describe each key, and an `uhk_key_t` type that
wraps all the supported things into a union. But this is not the only change: to
be able to move the Fn/Mod keys anywhere, instead of hardcoding their location,
they are now proper layer keys. To make it easier to handle turning a layer off,
key releases can be handled explicitly, too.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-12-11 19:22:31 +01:00
Gergely Nagy 5ee11c2f8f LEDs: Add a method to set all LEDs to a given brightness
Mostly for testing purposes, but can be used later for backlight up/down stuff,
too.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-12-11 09:57:48 +01:00
Robert Csordas f2c750cdf9 Refactoring 2016-11-14 22:41:39 +01:00
Robert Csordas 5cf1da0cfe Fixes the bug of additional characters when mod key is released before the other key 2016-11-14 22:09:33 +01:00
Robert Csordas fc434c7857 Remove keyboard scanning from USB interrupt. Fix initial blink of LEDs when initializing. Coding style fixes. 2016-11-13 15:50:49 +01:00
Robert Csordas f2d3963b14 Remove eclipse's bullshit. 2016-11-13 11:29:02 +01:00
Robert Csordas 190d555221 Refactoring and bugfixes. 2016-11-13 11:25:29 +01:00
Robert Csordas b3bc436bbb Fix typo+basic power management 2016-11-12 20:31:59 +01:00
Robert Csordas d232e774b7 Fixes+mod keys 2016-11-12 20:25:15 +01:00
Robert Csordas 6dc6c43238 Able to type. 2016-11-12 19:07:39 +01:00
László Monda f961260443 Expose ISO jumper state over USB. 2016-10-20 00:14:01 +02:00
László Monda 7a6e5523fb Make bidirectional communication work between the keyboard halves. Make the set test LED USB command set the test LED of the left half, too. 2016-10-19 19:39:00 +02:00
László Monda 5a32ff743c Expose the LED jumper via USB. 2016-10-18 18:58:00 +02:00
László Monda 0ed30b4591 Expose the merge sensor via USB. 2016-10-17 23:21:37 +02:00
László Monda 2d31c3e5ce Add API for the merge sensor. 2016-10-17 23:06:09 +02:00
László Monda cb7c4d68dd Fix indentation. 2016-10-17 22:54:06 +02:00
László Monda 3bd2c7f18e Extract RESET_BUTTON_IS_PRESSED 2016-10-17 22:51:17 +02:00
László Monda ab3d8b92f0 Remove commented out code. 2016-10-17 22:47:45 +02:00
László Monda 32b5484b31 Fix TEST_LED_{ON,OFF} macros to function as they should. Enable the test LEDs of both halves by default. 2016-10-15 00:41:37 +02:00
László Monda 9436be444c Implement read EEPROM and write EEPROM USB commands. 2016-10-12 12:51:22 +02:00
László Monda 80ddf397fd Make the left keyboard half send the state of the keys to the right half via I2C and make the right half send the relevant scancodes to the host via USB. 2016-10-12 03:03:59 +02:00
László Monda cbe8c953a0 Remove unused variable. 2016-10-12 00:27:58 +02:00
László Monda 2dd260e84b Fix and use KeyMatrix_Scan() 2016-10-11 21:56:24 +02:00
László Monda 7d3abdffef Don't send erroneous scancodes to the host by including delays for the pins to stabilize. Thanks @santiagogf89 for the idea! 2016-10-11 20:47:56 +02:00
László Monda c8284fcd6f Add KeyMatrix_Scan() although don't use it yet. Send every detected scancode to the host of which there are false positives for some reason. 2016-10-10 22:39:22 +02:00
László Monda 56b8609187 Let KDS update org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR 2016-10-10 17:39:38 +02:00
László Monda 5588aecb78 Extract KeyMatrix_Init() and create related typedefs. 2016-10-10 17:33:11 +02:00
László Monda 188faacdb2 Replace the KSDK_2.0_FRDM-K22F submodule with KSDK_2.0_MK22FN512xxx12. 2016-10-06 21:47:24 +02:00
László Monda 4742a0c661 Initialize clocks where they're actually needed. 2016-10-05 23:12:22 +02:00
László Monda 4830c98d50 Initialize the I2C bus of the EEPROM. Organize related macros neatly. 2016-10-05 21:27:49 +02:00
László Monda f0b63a6f7b Add reset_button.c and test_led.c. Clean up init_peripherials.c 2016-10-05 02:05:05 +02:00
László Monda 5936129ebc Remove the include directory. Add init_clock.[ch] 2016-10-04 18:36:01 +02:00
László Monda f4f7fd72d9 Move the lufa directory one level upwards. 2016-10-04 17:29:06 +02:00
László Monda db8f1ff691 Rename include/usb to ksdk_usb. 2016-10-04 17:12:34 +02:00
László Monda 5f1c85147b Remove pin_mux.[ch], add init_peripherials.[ch], add reset_button.h which I forgot to add previously. 2016-10-04 17:02:46 +02:00
László Monda 0550c19cf5 Delete board.[ch]. Add reset_button.h 2016-10-04 16:44:16 +02:00
László Monda 9172493642 Rename TEST_RED_* to TEST_LED_* 2016-10-04 16:21:19 +02:00
László Monda e2944663bf Scan the keyboard matrix and output scan codes over USB accordingly. 2016-10-03 23:34:38 +02:00
László Monda 2ed34073fc Add rows and columns for the right keyboard matrix. 2016-10-03 23:03:36 +02:00
László Monda ab22637f1e Key scanning fixed by @santiagogf89 2016-10-01 02:32:25 +02:00
László Monda f92cf981dc Trying to scan SW11 of the keyboard matrix. 2016-10-01 01:06:14 +02:00
László Monda 77f41c1655 Make WriteLedDriver() only send the payload to the target LED driver. 2016-09-27 22:55:01 +02:00
László Monda b519cd412d Implement the write LED driver protocol command. 2016-09-27 02:03:43 +02:00
László Monda 7855fa3f87 Add system properties. 2016-09-27 01:42:28 +02:00
László Monda 13a71ea826 Extract dedicated protocol handler functions per command. 2016-09-27 00:11:26 +02:00
László Monda 9e29018ff7 Move the USB protocol handler into its own file. 2016-09-26 23:49:50 +02:00
László Monda d2b810a3cf Explode GenericHidBuffer[2] as GenericHidInBuffer and GenericHidOutBuffer. 2016-09-26 23:32:13 +02:00
László Monda 7b3178a10a Generalize LED driver functions by adding I2C address parameters. 2016-09-26 21:37:29 +02:00
László Monda 7b1f6a37ff Add LED driver related macros instead of using magic numbers. 2016-09-26 21:19:35 +02:00
László Monda 36bb5fabba Rename the toplevel include directory to shared. Add it to the project workspace. Include led_driver.h from main.c 2016-09-26 20:36:49 +02:00