Skip to content

Commit

Permalink
Adds support for JacoBurge's TouchPad (qmk#4186)
Browse files Browse the repository at this point in the history
* add touchpad

* progress

* working with leds and vibrations

* adds readme

* Update keyboards/touchpad/readme.md

Co-Authored-By: jackhumbert <jack.humb@gmail.com>

* updates
  • Loading branch information
jackhumbert authored and rhruiz committed Jan 11, 2019
1 parent c76c4a7 commit 6ba0e2a
Show file tree
Hide file tree
Showing 8 changed files with 480 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/avr/i2c_master.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,9 @@ i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16
status = i2c_write(regaddr, timeout);
if (status) return status;

status = i2c_stop(timeout);
if (status) return status;

status = i2c_start(devaddr | 0x01, timeout);
if (status) return status;

Expand Down Expand Up @@ -217,4 +220,4 @@ i2c_status_t i2c_stop(uint16_t timeout)
}

return I2C_STATUS_SUCCESS;
}
}
70 changes: 70 additions & 0 deletions keyboards/touchpad/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/*
Copyright 2018 Jack Humbert <jack.humb@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
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x16D0
#define PRODUCT_ID 0x0DB8
#define DEVICE_VER 0x0001
#define MANUFACTURER JacoBurge
#define PRODUCT TouchPad
#define DESCRIPTION A capacitive touchpad

/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 6


/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* number of backlight levels */
#define BACKLIGHT_LEVELS 3

/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

/* key combination for command */
#define IS_COMMAND() ( \
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
30 changes: 30 additions & 0 deletions keyboards/touchpad/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* Copyright 2018 Jack Humbert <jack.humb@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
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* 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 QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = {
{ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F },
{ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F },
{ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F },
{ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F },
{ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F },
{ KC_A, KC_B, KC_C, KC_D, KC_E, KC_F }
}

};
Loading

0 comments on commit 6ba0e2a

Please sign in to comment.