Merge blargg's fix into adb.c
- <http://geekhack.org/index.php?topic=14290.msg1075201#msg1075201>
This commit is contained in:
parent
59ecced486
commit
c18c52f551
3 changed files with 108 additions and 112 deletions
|
@ -15,12 +15,15 @@ You should have received a copy of the GNU General Public License
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdint.h"
|
||||
#include <stdint.h>
|
||||
#include <util/delay.h>
|
||||
#include "adb.h"
|
||||
#include "led.h"
|
||||
|
||||
|
||||
void led_set(uint8_t usb_led)
|
||||
{
|
||||
// need a wait to send command without miss
|
||||
_delay_ms(100);
|
||||
adb_host_kbd_led(~usb_led);
|
||||
}
|
||||
|
|
|
@ -67,6 +67,13 @@ uint8_t matrix_cols(void)
|
|||
void matrix_init(void)
|
||||
{
|
||||
adb_host_init();
|
||||
// wait for keyboard to boot up and receive command
|
||||
_delay_ms(1000);
|
||||
// Enable keyboard left/right modifier distinction
|
||||
// Addr:Keyboard(0010), Cmd:Listen(10), Register3(11)
|
||||
// upper byte: reserved bits 0000, device address 0010
|
||||
// lower byte: device handler 00000011
|
||||
adb_host_listen(0x2B,0x02,0x03);
|
||||
|
||||
// initialize matrix state: all keys off
|
||||
for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue