~ruther/qmk_firmware

b9a1b61f6ac42bbd73123d86058ec8b7048d5da6 — James Young 4 years ago 28b59c3
Flehrad Tradestation Refactor (#13897)

* add license headers

Apache 2.0 per the included `license` file.

* info.json: use human-friendly formatting

* refactor keymaps

- split `default` keymap into `default` and `tradestation` keymaps (one for each layout)
- remove boilerplate functions
- apply four-space indent

* partial clean up of rules.mk

- update section header comment blocks
M keyboards/flehrad/tradestation/config.h => keyboards/flehrad/tradestation/config.h +15 -0
@@ 1,3 1,18 @@
/* Copyright 2019 flehrad
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

#include "config_common.h"

M keyboards/flehrad/tradestation/info.json => keyboards/flehrad/tradestation/info.json +38 -2
@@ 6,10 6,46 @@
    "height": 4.5,
    "layouts": {
        "LAYOUT_tradestation": {
            "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25, "w":2},{"x":2.25, "y":2.25, "w":2},{"x":0, "y":3.5, "w":2},{"x":2.25, "y":3.5, "w":2}]
            "layout": [
                {"x":0, "y":0},
                {"x":1.125, "y":0},
                {"x":2.25, "y":0},
                {"x":3.375, "y":0},

                {"x":0, "y":1.1},
                {"x":1.125, "y":1.1},
                {"x":2.25, "y":1.1},
                {"x":3.375, "y":1.1},

                {"x":0, "y":2.25, "w":2},
                {"x":2.25, "y":2.25, "w":2},

                {"x":0, "y":3.5, "w":2},
                {"x":2.25, "y":3.5, "w":2}
            ]
        },
        "LAYOUT_ortho_4x4": {
            "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25},{"x":1.125, "y":2.25},{"x":2.25, "y":2.25},{"x":3.375, "y":2.25},{"x":0, "y":3.5},{"x":1.125, "y":3.5},{"x":2.25, "y":3.5},{"x":3.375, "y":3.5}]
            "layout": [
                {"x":0, "y":0},
                {"x":1.125, "y":0},
                {"x":2.25, "y":0},
                {"x":3.375, "y":0},

                {"x":0, "y":1.1},
                {"x":1.125, "y":1.1},
                {"x":2.25, "y":1.1},
                {"x":3.375, "y":1.1},

                {"x":0, "y":2.25},
                {"x":1.125, "y":2.25},
                {"x":2.25, "y":2.25},
                {"x":3.375, "y":2.25},

                {"x":0, "y":3.5},
                {"x":1.125, "y":3.5},
                {"x":2.25, "y":3.5},
                {"x":3.375, "y":3.5}
            ]
        }
    }
}

M keyboards/flehrad/tradestation/keymaps/default/keymap.c => keyboards/flehrad/tradestation/keymaps/default/keymap.c +21 -55
@@ 1,61 1,27 @@
/* Copyright 2019 flehrad
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include QMK_KEYBOARD_H

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

	LAYOUT_ortho_4x4(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
    [0] = LAYOUT_ortho_4x4(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
    ),

 	LAYOUT_tradestation(
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
		KC_TRNS, 		  KC_TRNS, 
		KC_TRNS, 		  KC_TRNS),
};


void matrix_init_user(void) {
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
	return true;
}

void led_set_user(uint8_t usb_led) {

	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
		
	} else {
		
	}

	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
		
	} else {
		
	}

	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
		
	} else {
		
	}

	if (usb_led & (1 << USB_LED_COMPOSE)) {
		
	} else {
		
	}

	if (usb_led & (1 << USB_LED_KANA)) {
		
	} else {
		
	}

}

A keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c => keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c +27 -0
@@ 0,0 1,27 @@
/* Copyright 2019 flehrad
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include QMK_KEYBOARD_H

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

     [0] = LAYOUT_tradestation(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS,          KC_TRNS,
        KC_TRNS,          KC_TRNS
    ),

};

M keyboards/flehrad/tradestation/rules.mk => keyboards/flehrad/tradestation/rules.mk +1 -8
@@ 2,17 2,10 @@
MCU = atmega32u4

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = caterina

# Build Options
#   comment out to disable the options.
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = full	# Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)

M keyboards/flehrad/tradestation/tradestation.c => keyboards/flehrad/tradestation/tradestation.c +15 -0
@@ 1,1 1,16 @@
/* Copyright 2019 flehrad
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "tradestation.h"

M keyboards/flehrad/tradestation/tradestation.h => keyboards/flehrad/tradestation/tradestation.h +15 -0
@@ 1,3 1,18 @@
/* Copyright 2019 flehrad
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

#include "quantum.h"