2011-07-20 15:32:52 +00:00
/*
Copyright 2011 Jun Wako < wakojun @ 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/>.
*/
2011-02-21 06:43:17 +00:00
# ifndef KEYMAP_H
# define KEYMAP_H
2010-10-23 16:17:26 +00:00
# include <stdint.h>
# include <stdbool.h>
2012-12-15 17:32:07 +00:00
# include "action.h"
2010-10-23 16:17:26 +00:00
2013-01-28 05:06:42 +00:00
2013-02-20 02:16:13 +00:00
# ifdef USE_KEYMAP_V2
/* translates key to keycode
* layer : 0 - 15 for base layers
* 16 - 31 for overlays
*/
2013-02-13 02:20:47 +00:00
uint8_t keymap_key_to_keycode ( uint8_t layer , key_t key ) ;
/* translates Fn keycode to action */
action_t keymap_fn_to_action ( uint8_t keycode ) ;
2013-02-20 02:16:13 +00:00
# else
# warning "You are using LEGACY KEYAMP. Consider using NEW KEYMAP."
/*
* legacy keymap support
*/
2013-01-31 08:50:53 +00:00
/* keycode of key */
2010-10-29 06:17:18 +00:00
uint8_t keymap_get_keycode ( uint8_t layer , uint8_t row , uint8_t col ) ;
/* layer to move during press Fn key */
2011-01-06 06:37:14 +00:00
uint8_t keymap_fn_layer ( uint8_t fn_bits ) ;
2010-10-29 06:17:18 +00:00
/* keycode to send when release Fn key without using */
uint8_t keymap_fn_keycode ( uint8_t fn_bits ) ;
2013-01-31 08:50:53 +00:00
# endif
2012-12-15 17:32:07 +00:00
2010-10-23 16:17:26 +00:00
# endif