35 lines
		
	
	
		
			992 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			992 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef SIXKEYBOARD_H
 | 
						|
#define SIXKEYBOARD_H
 | 
						|
 | 
						|
#include "quantum.h"
 | 
						|
 | 
						|
// This macro is an example of using a non-standard row-column matrix. The
 | 
						|
// keyboard in question had 11 rows and 8 columns, but the rows were not all
 | 
						|
// horizontal, and the columns were not all vertical. For example, row 2
 | 
						|
// contained "Print Screen", "N", "M", ",", ".", "/", "Right Shift", and
 | 
						|
// "Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B",
 | 
						|
// "Left Alt", "Up Arrow", and "Down Arrow".
 | 
						|
//
 | 
						|
// The macro makes programming the keys easier and in a more straight-forward
 | 
						|
// manner because it realigns the keys into a 6x15 sensible keyboard layout
 | 
						|
// instead of the obtuse 11x8 matrix.
 | 
						|
 | 
						|
 | 
						|
/*
 | 
						|
 * ┌───┬───┬───┐
 | 
						|
 * │ A │ B │ C │
 | 
						|
 * ├───┼───┼───┤
 | 
						|
 * │ D │ E │ F │
 | 
						|
 * └───┴───┴───┘
 | 
						|
 */
 | 
						|
#define LAYOUT( \
 | 
						|
    k00, k01, k02, \
 | 
						|
    k10, k11, k12  \
 | 
						|
  ) { \
 | 
						|
    { k00, k01, k02 }, \
 | 
						|
    { k10, k11, k12 }  \
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
#endif
 |