mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	[Keymap] Sigul planck (#8546)
* remove IT_PIPE duplicate and add IT_GRAD IT_PIPE was declared 2 times, ones as ° and once as |. I changed the first declaration and called it IT_GRAD. I even fixed the definition because the ° in Italian is obtained with LSFT(IT_AACC) * rename IT_GRAD to IT_DEGR * fix missing music mode legend * add missing plus_and_minus * fix missing IT_ACUT definition * change KC_LALT(KC_LSFT to LALT(LSFT * Fix alignment * remove leftover * fix issue generated with chars while pushing * fix typo * add sigul folder in Planck keymaps * fix LCBR and RCBR * fix euro symbol * fix RBRC * change IT_LESS form KC_NUBS to KC_GRAVE * add IT_TILDE and change IT_GRAV to IT_GRAVE * initial commit * add ideas to readme * comment key lock * add a bunch of new features as stated in readme.md * check features added and list to do * add macros on RAISE * add F keys on numbers row on FN layer * flag features added * fix macro formulas * move DESK and SGCOM under D and S * invert IT_EACC and S(IT_EACC) to align the layout with that of the default Planck * invert IT_EACC and S(IT_EACC) to align the layout with that of the default Planck fix spaces for readability * add missing legends for accented vowels * format for readability * move MOUSE button on B (same key that activates it) on MOUSE layer * revert to commit befor I edit it * initial commit * edited to be easier to compare to _ansi.h * remove keymap_italian_osx_iso.h and rename with edits keymap_italian_osx_ansi.h to keymap_italian_osx.h I found out there were no difference at all * fix missing #endif * change the included file from italian.h to italian_osx.h * fix debug key * edit Numapd layer, add enter and bsps * change TAPPING_TOGGLE from 2 to 3 * change italian_osx.h to italian_ansi.h * rename quantum/keymap_extras/keymap_italian_osx.h to quantum/keymap_extras/keymap_italian_ansi.h Now this file is a clone of the keymap_italian.h that appears to be working only for ISO keyboards. It also contains a few improvements for IT_PIPE (defined two times) and IT_ACUT (missing definition). Additionally it redefines LCBR and RCBR to LSFT(IT_LBRC) and LSFT(IT_RBRC) * rename file * redefines IT_BKSL and IT_PIPE based on KC_BKSL * merge new italian * add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE * rename BKSL to BSLS * add FN_D and some comments * add MOUSEKEY configuration * update * edit swap =/+ with ò/ì * merge with master * add MS_B to have _MOUSE when pressing B * move RAISE on _FN * add phone number * remove CONTRA folder * remove CONTRA folder * Update keyboards/planck/keymaps/sigul/keymap.c fix include definition Co-Authored-By: Ryan <fauxpark@gmail.com> * remove default planck kemap * remove extern keymap_config_t keymap_config; based on suggestion from @fauxpark, It's not needed as it should already be externed through one of the includes provided by QMK_KEYBOARD_H. Co-Authored-By: Ryan <fauxpark@gmail.com> * add user space for user sigul * remove custom config moved to user space sigul * comment tri layers state (moved to user space) * remove tri layers update comment (code moved in user space) * add secrets * move enum and define to userspace * Edit title * move enum and define to sigul.h * add thanks * edit: moving to userspace enum, define and process_records * add enum and defines * add process_records * cleaning code after moving code to user space * add process_records * cleaning code * adding rules to manage secrets * remove secretes * first commit * add macro timer * add keycodes macro * edit custom keycodes order * add strings to send inside the secrets array * remove codes for secrets & change secret to secrets * edit secrets keycodes * edit keycodes names and order * add secrets.h and secrets.c * add #pragma once Co-Authored-By: Joel Challis <git@zvecr.com> * Update .gitignore Co-Authored-By: Joel Challis <git@zvecr.com> * add local gitignore for secrets * remove secrets * update for secrets * change FN_D to IT_D * remove FN_D definition Co-authored-by: pisilvio <silvio@picampus.it> Co-authored-by: admin <admin@admins-MacBook-Pro.local> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com>
This commit is contained in:
		
							parent
							
								
									854d46f833
								
							
						
					
					
						commit
						e5b10079cf
					
				
							
								
								
									
										39
									
								
								keyboards/planck/keymaps/sigul/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								keyboards/planck/keymaps/sigul/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | |||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #ifdef AUDIO_ENABLE | ||||||
|  |     #define STARTUP_SONG SONG(PLANCK_SOUND) | ||||||
|  |     // #define STARTUP_SONG SONG(NO_SOUND)
 | ||||||
|  | 
 | ||||||
|  |     #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||||||
|  |                                   SONG(COLEMAK_SOUND), \ | ||||||
|  |                                   SONG(DVORAK_SOUND) \ | ||||||
|  |                                 } | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * MIDI options | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | /* Prevent use of disabled MIDI features in the keymap */ | ||||||
|  | //#define MIDI_ENABLE_STRICT 1
 | ||||||
|  | 
 | ||||||
|  | /* enable basic MIDI features:
 | ||||||
|  |    - MIDI notes can be sent when in Music mode is on | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #define MIDI_BASIC | ||||||
|  | 
 | ||||||
|  | /* enable advanced MIDI features:
 | ||||||
|  |    - MIDI notes can be added to the keymap | ||||||
|  |    - Octave shift and transpose | ||||||
|  |    - Virtual sustain, portamento, and modulation wheel | ||||||
|  |    - etc. | ||||||
|  | */ | ||||||
|  | //#define MIDI_ADVANCED
 | ||||||
|  | 
 | ||||||
|  | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||||||
|  | //#define MIDI_TONE_KEYCODE_OCTAVES 2
 | ||||||
|  | 
 | ||||||
|  | // Most tactile encoders have detents every 4 stages
 | ||||||
|  | #define ENCODER_RESOLUTION 4 | ||||||
|  | 
 | ||||||
							
								
								
									
										222
									
								
								keyboards/planck/keymaps/sigul/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								keyboards/planck/keymaps/sigul/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,222 @@ | |||||||
|  | /*
 | ||||||
|  |  *  | ||||||
|  |  * An Italian ANSI layout | ||||||
|  |  * Version 0.3  | ||||||
|  |  *  | ||||||
|  |  * Created by Silvio Gulizia on the basis of the default Planck keymap. | ||||||
|  |  * thanks to SomeBuddyOnReddit, gepeirl, fauxpark, BXO511, drashna, ridingqwerty  ... | ||||||
|  |  * | ||||||
|  |  * based on the original Planck layout | ||||||
|  |  * Italian accented vowels "Ã" and "à" have been moved from the QWERTY layer to the LOWER layers, while "è" and "ù" remain respectively on RAISE and LOWER. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | #include "muse.h" | ||||||
|  | #include "keymap_italian_osx_ansi.h" | ||||||
|  | #include "sigul.h" | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  | 
 | ||||||
|  | /* Qwerty
 | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |Tab/FN|   Q  |   W  |  E   |  R   |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |Esc/FN|   A  |   S  |  D  |   F   |   G  |   H  |   J  |   K  |   L  |  ;:  |  '"  | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * | Shift|   Z  |   X  |  C   |  V   | FN/B |   N  |   M  |  ,<  |  .>  |  /!  |S/Ent | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * | FN   | Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right | | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | [_QWERTY] = LAYOUT_ortho_4x12( | ||||||
|  |     TABFN,   IT_Q,    IT_W,    IT_E,      IT_R,  IT_T,    IT_Y,    IT_U,  IT_I,    IT_O,    IT_P,    KC_BSPC, | ||||||
|  |     ESCFN,   IT_A,    IT_S,    IT_D,      IT_F,  IT_G,    IT_H,    IT_J,  IT_K,    IT_L,    IT_SCCL, IT_APDQ, | ||||||
|  |     KC_LSFT, IT_Z,    IT_X,    IT_C,      IT_V,  MS_B,    IT_N,    IT_M,  IT_CMLS, IT_DTMR, IT_SLQS, MT(MOD_RSFT, KC_ENT), | ||||||
|  |     FN,      KC_LCTL, KC_LALT, KC_LGUI,   LOWER, KC_SPC,  KC_SPC,  RAISE, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | /* Lower
 | ||||||
|  |  * added ò and à that were on the default Planck Querty layer when used with a device with lang set to Italian | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |  ~   |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |  (   |  )   | Del  | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |      |  F1  |  F2  |  F3  |  F4  |  F5  |      |   _  |   =  |  é   |  ò   |  à   | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * |      |  F6  |  F7  |  F8  |  F9  | MOUSE|NUMPAD|   §  |   ±  |  {   |  }   |  |   | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      |      | Next | Vol- | Vol+ | Play | | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | [_LOWER] = LAYOUT_ortho_4x12( | ||||||
|  |     IT_TILDE, IT_EXLM, IT_AT,   IT_SHRP, IT_DLR,  IT_PERC, IT_CRC,  IT_AMPR,    IT_ASTR, IT_LPRN,    IT_RPRN, KC_DEL, | ||||||
|  |     _______,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   _______, S(IT_MINS), IT_EQL,  S(IT_EACC), IT_OACC, IT_AACC, | ||||||
|  |     _______,  KC_F6,   KC_F7,   KC_F8,   KC_F9,   MOUSE,   NUMPAD,  S(IT_UACC), IT_PLMN, IT_LCBR,    IT_RCBR, IT_PIPE, | ||||||
|  |     _______,  _______, _______, _______, _______, _______, _______, _______,    KC_MNXT, KC_VOLD,    KC_VOLU, KC_MPLY | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | /* Raise
 | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |  `   |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  |      | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |      |      | SGCOM| DESK |      |      |      |   -  |   +  |   è  |   ì  |  ù   | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * | Caps |      | PHONE| SVIV |VIVERE|MOUSE |NUMPAD|      |      |  [   |   ]  |  \   | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      |      | Home | PgDn | PgUp | End  | | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | [_RAISE] = LAYOUT_ortho_4x12( | ||||||
|  |     IT_GRAVE, IT_1,    IT_2,    IT_3,	 IT_4,    IT_5,    IT_6,    IT_7,    IT_8,    IT_9,    IT_0,    _______, | ||||||
|  |     _______,  _______, SECRET2, SECRET1, _______, _______, _______, IT_MINS, IT_PLUS, IT_EACC, IT_IACC, IT_UACC, | ||||||
|  |     KC_CAPS,  _______, SECRET0, SECRET3, SECRET4,  MOUSE,  NUMPAD,  _______, _______, IT_LBRC, IT_RBRC, IT_BSLS, | ||||||
|  |     _______,  _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | /* Numpad
 | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |      |      |      |      |      |      |      |  7   |  8   |  9   |  -   | Bksp | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      |  4   |  5   |  6   |  +   |      | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |NUMPAD|  1   |  2   |  3   |  =   | Ent  | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      |      |  0   |  /   |  *   |      | | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | [_NUMPAD] = LAYOUT_ortho_4x12( | ||||||
|  |     _______, _______, _______, _______, _______, _______, _______, IT_7,    IT_8, IT_9,    IT_MINS, KC_BSPC, | ||||||
|  |     _______, _______, _______, _______, _______, _______, _______, IT_4,    IT_5, IT_6,    IT_PLUS, _______, | ||||||
|  |     _______, _______, _______, _______, _______, _______, NUMPAD,  IT_1,    IT_2, IT_3,    IT_EQL,  KC_ENT, | ||||||
|  |     _______, _______, _______, _______, _______, _______, _______, _______, IT_0, IT_SLSH, IT_ASTR, _______ | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | /* Adjust (Lower + Raise)
 | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |      |Querty|      |ResetE|Reset |      |      |      |      |      |      |      | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |Debug |      |      |      |      |      |      |      |      | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      |Music |MusON |MusOff|      |      | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |             |      |Voice-|Aud On|Audoff|Voice+| | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | [_ADJUST] = LAYOUT_ortho_4x12( | ||||||
|  |     _______, DF(QWERTY), _______, EEP_RST, RESET,   _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |     _______, _______,    _______, DEBUG,   _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |     _______, _______,    _______, _______, _______, _______, MU_MOD,  MU_ON,   MU_OFF,  _______, _______, _______, | ||||||
|  |     _______, _______,    _______, _______, _______, _______, _______, _______, MUV_DE,  AU_ON,   AU_OFF,  MUV_IN | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Function
 | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |      |  F1  |  F2  |  F3  |  F4  | F5   |  F6  |  F7  |  F8  |  F9  | F10  | Del  | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |      |  F1  |  F2  |  F3  |  F4  | F5   | Left | Down |  Up  | Right|      |      | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * |      |  F6  |  F7  |  F8  |  F9  | F10  |  F1  |  F2  |  F3  |  F4  | F5   |      | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      | RAISE|      |      |      |      | | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | [_FN] = LAYOUT_ortho_4x12( | ||||||
|  |     _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,      KC_F7,      KC_F8,   KC_F9,    KC_F10,  KC_DEL, | ||||||
|  |     _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_LEFT,    KC_DOWN,    KC_UP,   KC_RIGHT, _______, _______, | ||||||
|  |     _______, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F1,      KC_F2,      KC_F3,   KC_F4,    KC_F5,   _______, | ||||||
|  |     _______, _______, _______, _______, _______, _______, _______,    TG(_RAISE), _______, _______, _______,  _______ | ||||||
|  | ), | ||||||
|  | 
 | ||||||
|  | /* MOUSE
 | ||||||
|  |  * ,-----------------------------------------------------------------------------------. | ||||||
|  |  * |      |      |      |      |      |      |      |      |      |      |      |      | | ||||||
|  |  * |------+------+------+------+------+-------------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      |      |      |      |      |      |      |      | | ||||||
|  |  * |------+------+------+------+------+------|------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |      | MOUSE|      |      |      |Scr Up|Scr Do|      | | ||||||
|  |  * |------+------+------+------+------+------+------+------+------+------+------+------| | ||||||
|  |  * |      |      |      |      |But1  |      |      |But2  | Left | Down | Up   |Right | | ||||||
|  |  * `-----------------------------------------------------------------------------------' | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | [_MOUSE] = LAYOUT_ortho_4x12( | ||||||
|  |     _______, _______, _______, _______, _______,    _______, _______, _______,    _______,    _______,       _______,     _______, | ||||||
|  |     _______, _______, _______, _______, _______,    _______, _______, _______,    _______,    _______,       _______,     _______, | ||||||
|  |     _______, _______, _______, _______, _______,    MOUSE,   _______, _______,    _______,    KC_MS_WH_DOWN, KC_MS_WH_UP, _______, | ||||||
|  |     _______, _______, _______, _______, KC_MS_BTN1, _______, _______, KC_MS_BTN2, KC_MS_LEFT, KC_MS_DOWN,    KC_MS_UP,    KC_MS_RIGHT | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #ifdef AUDIO_ENABLE | ||||||
|  |   float plover_song[][2]     = SONG(PLOVER_SOUND); | ||||||
|  |   float plover_gb_song[][2]  = SONG(PLOVER_GOODBYE_SOUND); | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | bool muse_mode = false; | ||||||
|  | uint8_t last_muse_note = 0; | ||||||
|  | uint16_t muse_counter = 0; | ||||||
|  | uint8_t muse_offset = 70; | ||||||
|  | uint16_t muse_tempo = 50; | ||||||
|  | 
 | ||||||
|  | void encoder_update(bool clockwise) { | ||||||
|  |   if (muse_mode) { | ||||||
|  |     if (IS_LAYER_ON(_RAISE)) { | ||||||
|  |       if (clockwise) { | ||||||
|  |         muse_offset++; | ||||||
|  |       } else { | ||||||
|  |         muse_offset--; | ||||||
|  |       } | ||||||
|  |     } else { | ||||||
|  |       if (clockwise) { | ||||||
|  |         muse_tempo+=1; | ||||||
|  |       } else { | ||||||
|  |         muse_tempo-=1; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } else { | ||||||
|  |     if (clockwise) { | ||||||
|  |       #ifdef MOUSEKEY_ENABLE | ||||||
|  |         tap_code(KC_MS_WH_DOWN); | ||||||
|  |       #else | ||||||
|  |         tap_code(KC_PGDN); | ||||||
|  |       #endif | ||||||
|  |     } else { | ||||||
|  |       #ifdef MOUSEKEY_ENABLE | ||||||
|  |         tap_code(KC_MS_WH_UP); | ||||||
|  |       #else | ||||||
|  |         tap_code(KC_PGUP); | ||||||
|  |       #endif | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void matrix_scan_user(void) { | ||||||
|  |   #ifdef AUDIO_ENABLE | ||||||
|  |     if (muse_mode) { | ||||||
|  |       if (muse_counter == 0) { | ||||||
|  |         uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; | ||||||
|  |         if (muse_note != last_muse_note) { | ||||||
|  |           stop_note(compute_freq_for_midi_note(last_muse_note)); | ||||||
|  |           play_note(compute_freq_for_midi_note(muse_note), 0xF); | ||||||
|  |           last_muse_note = muse_note; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |       muse_counter = (muse_counter + 1) % muse_tempo; | ||||||
|  |     } | ||||||
|  |   #endif | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bool music_mask_user(uint16_t keycode) { | ||||||
|  |   switch (keycode) { | ||||||
|  |     case RAISE: | ||||||
|  |     case LOWER: | ||||||
|  |       return false; | ||||||
|  |     default: | ||||||
|  |       return true; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										38
									
								
								keyboards/planck/keymaps/sigul/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								keyboards/planck/keymaps/sigul/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | |||||||
|  | # An ANSI Italian Planck Layout | ||||||
|  | by Silvio Gulizia | ||||||
|  | 
 | ||||||
|  | - [x] add layer _FN with F keys and VI navigation | ||||||
|  | - [x] add layer _MOUSE with mouse keys | ||||||
|  | - [x] add "MOUSEKEY_ENABLE = yes" in rules.mk to enable mouse keys | ||||||
|  | - [x] add definition to control the mouse movementes in config.h | ||||||
|  | - [x] add layer _NUMPAD to have a numpad | ||||||
|  | - [x] add keycode NUMPAD to toggle _NUMPAD | ||||||
|  | - [x] modify layer ADJUST to simplify remembering commands | ||||||
|  | - [x] add custom keycodes ESCFN and TABFN on QUERTY to add the ability to use arrows with hjkl by activating layer FN when held with the definition LT(_FN,KC_ESC) and LT(_FN, KC_TAB) | ||||||
|  | - [x] added "#define USB_MAX_POWER_CONSUMPTION 100" in config.h to use the keyboard with the iPad | ||||||
|  | - [x] add "#define TAPPING_TOGGLE 3" in config.h to enable tapping toggle with 3 taps on LOWER, RAISE and MOUSE  keys | ||||||
|  | - [x] add tapping toggle to LOWER, RAISE and MOUSE  keys | ||||||
|  | - [x] add "KEY_LOCK_ENABLE = yes" in rules.mk to enable caps lock | ||||||
|  | - [x] add caps lock (KC_CAPS) to RAISE layer on the shift key | ||||||
|  | - [x] Add del to a thumb layer | ||||||
|  | - [x] remove key lock because it can only be used on standard keys | ||||||
|  | - [x] Add MT(MOD_LSFT, KC_ENT) shift when pressed, enter when tapped | ||||||
|  | - [x] add home, end, pgup and pgwon on _RAISE instead of arrows | ||||||
|  | - [x] add shift enter | ||||||
|  | - [x] change LSFT to S for more legibility | ||||||
|  | - [x] MT(kc) per usare shift come tasto es: MOD_LSFT(LCAG(KC_UP)). ??? MT(MOD_LSFT,KC_CAPS) | ||||||
|  | - [x] add macros on _FN to ouput website, email, tel, address, VAT ID credentials | ||||||
|  | - [x] remap F keys upon numbers on _FN | ||||||
|  | - [x] check audio functionality | ||||||
|  | - [x] Add LT(_FN, IT_D) on D on the Querty layer | ||||||
|  | 
 | ||||||
|  | - [ ] Add Hyper on ESC or TAB to be able to use it for custom keyboard shortcuts | ||||||
|  | - [ ] consider using layer configuration to have just one keymap (see as a reference qmk_firmware/layouts/community/ortho_4x12/bredfield/) | ||||||
|  | - [ ] add brightness up (KC_BRMU or KC_BRIU) and down (KC_BRMD or KC_BRID) | ||||||
|  | 
 | ||||||
|  | - [ ] add secrets file in user space to add passwords on a password layer | ||||||
|  | - [ ] consider adding midi on the planck | ||||||
|  | - [ ] consider adding AUTO_SHIFT_ENABLE = yes in rules.mk to be able to send shifted key depressing a key for twice the time  | ||||||
|  | - [ ] revert IT_ to KC_ where not required | ||||||
|  | - [ ] add swap from Mac to Win key code on Adjust layer | ||||||
|  | - [ ] evaluate to add auto shift  | ||||||
							
								
								
									
										1
									
								
								keyboards/planck/keymaps/sigul/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/planck/keymaps/sigul/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | SRC += muse.c | ||||||
							
								
								
									
										2
									
								
								users/sigul/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								users/sigul/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | secrets.h | ||||||
|  | secrets.c | ||||||
							
								
								
									
										17
									
								
								users/sigul/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								users/sigul/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | Copyright 2020 Silvio Gulizia desk@silviogulizia.com @sigul | ||||||
|  | 
 | ||||||
|  | Userspace by Silvio Gulizia | ||||||
|  | Contains code for ANSI / Italian layouts. | ||||||
|  | 
 | ||||||
|  | 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/>. | ||||||
							
								
								
									
										21
									
								
								users/sigul/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								users/sigul/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | // My custom configurations
 | ||||||
|  | #define TAPPING_TOGGLE 3 // enable tapping toggle, used to lock level with a custom keycode defined by TT (in my case RAISE, LOWER and MOUSE)
 | ||||||
|  | #define USB_MAX_POWER_CONSUMPTION 100 // required to be able to use the keyboard with iPad
 | ||||||
|  | 
 | ||||||
|  | // Settings for using the keybaord as a mouse
 | ||||||
|  | #define MOUSEKEY_DELAY 30 | ||||||
|  | // Delay between pressing a movement key and cursor movement
 | ||||||
|  | #define MOUSEKEY_INTERVAL 16 | ||||||
|  | // Time between cursor movements
 | ||||||
|  | #define MOUSEKEY_MAX_SPEED  3 | ||||||
|  | // Maximum cursor speed at which acceleration stops
 | ||||||
|  | #define MOUSEKEY_TIME_TO_MAX 40 | ||||||
|  | // Time until maximum cursor speed is reached
 | ||||||
|  | #define MOUSEKEY_WHEEL_MAX_SPEED 0 | ||||||
|  | // Maximum number of scroll steps per scroll action
 | ||||||
|  | #define MOUSEKEY_WHEEL_TIME_TO_MAX 0 | ||||||
|  | // Time until maximum scroll speed is reached
 | ||||||
|  | 
 | ||||||
|  | #define MACRO_TIMER 5 | ||||||
							
								
								
									
										8
									
								
								users/sigul/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								users/sigul/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | SRC += sigul.c | ||||||
|  | MOUSEKEY_ENABLE = yes | ||||||
|  | 
 | ||||||
|  | ifneq ($(strip $(NO_SECRETS)), yes) | ||||||
|  |     ifneq ("$(wildcard $(USER_PATH)/secrets.c)","") | ||||||
|  |         SRC += secrets.c | ||||||
|  |     endif | ||||||
|  | endif | ||||||
							
								
								
									
										100
									
								
								users/sigul/sigul.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								users/sigul/sigul.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,100 @@ | |||||||
|  | #include "keymap_italian_osx_ansi.h" | ||||||
|  | #include "sigul.h" | ||||||
|  | 
 | ||||||
|  | __attribute__ ((weak)) | ||||||
|  | layer_state_t layer_state_set_keymap (layer_state_t state) { | ||||||
|  |   return state; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | layer_state_t layer_state_set_user(layer_state_t state) { | ||||||
|  |   return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | __attribute__ ((weak)) | ||||||
|  | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | __attribute__ ((weak)) | ||||||
|  | bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
|  |   switch (keycode) { | ||||||
|  | 
 | ||||||
|  |     case IT_SCCL: | ||||||
|  |       if (record->event.pressed){ | ||||||
|  |         if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ | ||||||
|  |           register_code16(IT_COLN); | ||||||
|  |         } else { | ||||||
|  |           register_code16(IT_SCLN); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         unregister_code16(IT_COLN); | ||||||
|  |         unregister_code16(IT_SCLN); | ||||||
|  |       } | ||||||
|  |       return false; | ||||||
|  |       break; | ||||||
|  | 
 | ||||||
|  |     case IT_APDQ: | ||||||
|  |       if (record->event.pressed){ | ||||||
|  |         if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ | ||||||
|  |           register_code16(IT_DQOT); | ||||||
|  |         } else { | ||||||
|  |           register_code16(IT_APOS); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         unregister_code16(IT_DQOT); | ||||||
|  |         unregister_code16(IT_APOS); | ||||||
|  |         } | ||||||
|  |       return false; | ||||||
|  |       break; | ||||||
|  | 
 | ||||||
|  |     case IT_CMLS: | ||||||
|  |       if (record->event.pressed){ | ||||||
|  |         if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ | ||||||
|  |           unregister_code16(KC_LSFT); | ||||||
|  |           register_code16(IT_LESS); | ||||||
|  | 	  register_code16(KC_LSFT); | ||||||
|  |         } else { | ||||||
|  |           register_code16(IT_COMM); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         unregister_code16(IT_LESS); | ||||||
|  |         unregister_code16(IT_COMM); | ||||||
|  |       } | ||||||
|  |       return false; | ||||||
|  |       break; | ||||||
|  | 
 | ||||||
|  |     case IT_DTMR: | ||||||
|  |       if (record->event.pressed){ | ||||||
|  |         if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ | ||||||
|  |           register_code16(IT_MORE); | ||||||
|  |         } else { | ||||||
|  |           register_code16(IT_DOT); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         unregister_code16(IT_MORE); | ||||||
|  |         unregister_code16(IT_DOT); | ||||||
|  |       } | ||||||
|  |       return false; | ||||||
|  |       break; | ||||||
|  | 
 | ||||||
|  |     case IT_SLQS: | ||||||
|  |       if (record->event.pressed){ | ||||||
|  |         if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){ | ||||||
|  |           register_code16(IT_QST); | ||||||
|  |         } else { | ||||||
|  |           register_code16(IT_SLSH); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         unregister_code16(IT_QST); | ||||||
|  |         unregister_code16(IT_SLSH); | ||||||
|  |       } | ||||||
|  |       return false; | ||||||
|  |       break; | ||||||
|  |   } | ||||||
|  |   return process_record_keymap(keycode, record) && process_record_secrets(keycode, record); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
							
								
								
									
										42
									
								
								users/sigul/sigul.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								users/sigul/sigul.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include "quantum.h" | ||||||
|  | 
 | ||||||
|  | enum userspace_layers { | ||||||
|  |   _QWERTY, | ||||||
|  |   _LOWER, //symbols
 | ||||||
|  |   _RAISE, //numbers
 | ||||||
|  |   _ADJUST, //system
 | ||||||
|  |   _NUMPAD, | ||||||
|  |   _FN, | ||||||
|  |   _MOUSE | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | enum userspace_custom_keycodes { | ||||||
|  |   QWERTY = SAFE_RANGE, | ||||||
|  |   // custom keycodes for an Italian ANSI layout with accented vowels
 | ||||||
|  |   IT_CMLS, // IT_COMM and IT_LESS when combined with shift
 | ||||||
|  |   IT_DTMR, // IT_DOT and IT_MORE when combined with shift
 | ||||||
|  |   IT_SLQS, // IT_SLSH and IT_QST when combined with shift
 | ||||||
|  |   IT_APDQ, // IT_APO and IT_DQOT when combined with shift
 | ||||||
|  |   IT_SCCL, // IT_SMCL and IT_COLN when combined with shift
 | ||||||
|  |   SECRET0, | ||||||
|  |   SECRET1, | ||||||
|  |   SECRET2, | ||||||
|  |   SECRET3,  | ||||||
|  |   SECRET4, | ||||||
|  |   NEW_SAFE_RANGE // start new keyboard-level declarations with NEW_SAFE_RANGE
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | // Defining Layer Keycodes
 | ||||||
|  | #define QWERTY DF(_QWERTY) | ||||||
|  | // For LOWER and RAISE I use TT instead of MO to be able to lock those layer tapping three times the key (TAPPING_TOGGLE 3 has been added in sigul.h)
 | ||||||
|  | #define LOWER TT(_LOWER) | ||||||
|  | #define RAISE TT(_RAISE) | ||||||
|  | #define NUMPAD TG(_NUMPAD) | ||||||
|  | #define FN MO(_FN) | ||||||
|  | #define MOUSE TT(_MOUSE) | ||||||
|  | #define TABFN LT(_FN, KC_TAB) | ||||||
|  | #define ESCFN LT(_FN, KC_ESC) | ||||||
|  | #define MS_B LT(_MOUSE, IT_B) | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Silvio Gulizia
						Silvio Gulizia