From 4869b8061c187f6476f8f14b839dd2c2c9f74dd2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 29 Mar 2023 15:54:34 +1100 Subject: Move ortho & numpad layouts to data driven (#20183) Co-authored-by: Nick Brassel --- keyboards/peej/tripel/info.json | 77 +------------------------------- keyboards/peej/tripel/left/info.json | 81 ++++++++++++++++++++++++++++++++++ keyboards/peej/tripel/left/left.h | 38 ---------------- keyboards/peej/tripel/middle/info.json | 81 ++++++++++++++++++++++++++++++++++ keyboards/peej/tripel/middle/middle.h | 38 ---------------- keyboards/peej/tripel/right/info.json | 81 ++++++++++++++++++++++++++++++++++ keyboards/peej/tripel/right/right.h | 38 ---------------- 7 files changed, 244 insertions(+), 190 deletions(-) create mode 100644 keyboards/peej/tripel/left/info.json delete mode 100644 keyboards/peej/tripel/left/left.h create mode 100644 keyboards/peej/tripel/middle/info.json delete mode 100644 keyboards/peej/tripel/middle/middle.h create mode 100644 keyboards/peej/tripel/right/info.json delete mode 100644 keyboards/peej/tripel/right/right.h (limited to 'keyboards/peej/tripel') diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json index c5aebfd106..15980f254a 100644 --- a/keyboards/peej/tripel/info.json +++ b/keyboards/peej/tripel/info.json @@ -14,80 +14,5 @@ }, "diode_direction": "COL2ROW", "processor": "atmega32u4", - "bootloader": "caterina", - "layouts": { - "LAYOUT_ortho_7u": { - "layout": [ - { "x":0, "y":0 }, - { "x":1, "y":0 }, - { "x":2, "y":0 }, - { "x":3, "y":0 }, - { "x":4, "y":0 }, - { "x":5, "y":0 }, - { "x":6, "y":0 }, - { "x":7, "y":0 }, - { "x":8, "y":0 }, - { "x":9, "y":0 }, - { "x":10, "y":0 }, - { "x":11, "y":0 }, - { "x":12, "y":0 }, - { "x":13, "y":0 }, - { "x":14, "y":0 }, - { "x":0, "y":1 }, - { "x":1, "y":1 }, - { "x":2, "y":1 }, - { "x":3, "y":1 }, - { "x":4, "y":1 }, - { "x":5, "y":1 }, - { "x":6, "y":1 }, - { "x":7, "y":1 }, - { "x":8, "y":1 }, - { "x":9, "y":1 }, - { "x":10, "y":1 }, - { "x":11, "y":1 }, - { "x":12, "y":1 }, - { "x":13, "y":1 }, - { "x":14, "y":1 }, - { "x":0, "y":2 }, - { "x":1, "y":2 }, - { "x":2, "y":2 }, - { "x":3, "y":2 }, - { "x":4, "y":2 }, - { "x":5, "y":2 }, - { "x":6, "y":2 }, - { "x":7, "y":2 }, - { "x":8, "y":2 }, - { "x":9, "y":2 }, - { "x":10, "y":2 }, - { "x":11, "y":2 }, - { "x":12, "y":2 }, - { "x":13, "y":2 }, - { "x":14, "y":2 }, - { "x":0, "y":3 }, - { "x":1, "y":3 }, - { "x":2, "y":3 }, - { "x":3, "y":3 }, - { "x":4, "y":3 }, - { "x":5, "y":3 }, - { "x":6, "y":3 }, - { "x":7, "y":3 }, - { "x":8, "y":3 }, - { "x":9, "y":3 }, - { "x":10, "y":3 }, - { "x":11, "y":3 }, - { "x":12, "y":3 }, - { "x":13, "y":3 }, - { "x":14, "y":3 }, - { "x":0, "y":4 }, - { "x":1, "y":4 }, - { "x":2, "y":4 }, - { "x":3, "y":4 }, - { "x":7, "y":4, "w":7 }, - { "x":11, "y":4 }, - { "x":12, "y":4 }, - { "x":13, "y":4 }, - { "x":14, "y":4 } - ] - } - } + "bootloader": "caterina" } diff --git a/keyboards/peej/tripel/left/info.json b/keyboards/peej/tripel/left/info.json new file mode 100644 index 0000000000..b938ef9b9a --- /dev/null +++ b/keyboards/peej/tripel/left/info.json @@ -0,0 +1,81 @@ +{ + "layouts": { + "LAYOUT_ortho_7u": { + "layout": [ + {"matrix": [3, 0], "x": 0, "y": 0}, + {"matrix": [3, 1], "x": 1, "y": 0}, + {"matrix": [3, 2], "x": 2, "y": 0}, + {"matrix": [3, 3], "x": 3, "y": 0}, + {"matrix": [3, 4], "x": 4, "y": 0}, + {"matrix": [6, 0], "x": 5, "y": 0}, + {"matrix": [6, 1], "x": 6, "y": 0}, + {"matrix": [6, 2], "x": 7, "y": 0}, + {"matrix": [6, 3], "x": 8, "y": 0}, + {"matrix": [6, 4], "x": 9, "y": 0}, + {"matrix": [0, 0], "x": 10, "y": 0}, + {"matrix": [0, 1], "x": 11, "y": 0}, + {"matrix": [0, 2], "x": 12, "y": 0}, + {"matrix": [0, 3], "x": 13, "y": 0}, + {"matrix": [0, 4], "x": 14, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [3, 5], "x": 4, "y": 1}, + {"matrix": [7, 0], "x": 5, "y": 1}, + {"matrix": [7, 1], "x": 6, "y": 1}, + {"matrix": [7, 2], "x": 7, "y": 1}, + {"matrix": [7, 3], "x": 8, "y": 1}, + {"matrix": [6, 5], "x": 9, "y": 1}, + {"matrix": [1, 0], "x": 10, "y": 1}, + {"matrix": [1, 1], "x": 11, "y": 1}, + {"matrix": [1, 2], "x": 12, "y": 1}, + {"matrix": [1, 3], "x": 13, "y": 1}, + {"matrix": [0, 5], "x": 14, "y": 1}, + + {"matrix": [5, 0], "x": 0, "y": 2}, + {"matrix": [5, 1], "x": 1, "y": 2}, + {"matrix": [5, 2], "x": 2, "y": 2}, + {"matrix": [4, 4], "x": 3, "y": 2}, + {"matrix": [3, 6], "x": 4, "y": 2}, + {"matrix": [8, 0], "x": 5, "y": 2}, + {"matrix": [8, 1], "x": 6, "y": 2}, + {"matrix": [8, 2], "x": 7, "y": 2}, + {"matrix": [7, 4], "x": 8, "y": 2}, + {"matrix": [6, 6], "x": 9, "y": 2}, + {"matrix": [2, 0], "x": 10, "y": 2}, + {"matrix": [2, 1], "x": 11, "y": 2}, + {"matrix": [2, 2], "x": 12, "y": 2}, + {"matrix": [1, 4], "x": 13, "y": 2}, + {"matrix": [0, 6], "x": 14, "y": 2}, + + {"matrix": [5, 5], "x": 0, "y": 3}, + {"matrix": [5, 4], "x": 1, "y": 3}, + {"matrix": [5, 3], "x": 2, "y": 3}, + {"matrix": [4, 5], "x": 3, "y": 3}, + {"matrix": [3, 7], "x": 4, "y": 3}, + {"matrix": [8, 5], "x": 5, "y": 3}, + {"matrix": [8, 4], "x": 6, "y": 3}, + {"matrix": [8, 3], "x": 7, "y": 3}, + {"matrix": [7, 5], "x": 8, "y": 3}, + {"matrix": [6, 7], "x": 9, "y": 3}, + {"matrix": [2, 5], "x": 10, "y": 3}, + {"matrix": [2, 4], "x": 11, "y": 3}, + {"matrix": [2, 3], "x": 12, "y": 3}, + {"matrix": [1, 5], "x": 13, "y": 3}, + {"matrix": [0, 7], "x": 14, "y": 3}, + + {"matrix": [5, 6], "x": 0, "y": 4}, + {"matrix": [5, 7], "x": 1, "y": 4}, + {"matrix": [4, 6], "x": 2, "y": 4}, + {"matrix": [4, 7], "x": 3, "y": 4}, + {"matrix": [7, 6], "x": 7, "y": 4, "w": 7}, + {"matrix": [2, 7], "x": 11, "y": 4}, + {"matrix": [1, 6], "x": 12, "y": 4}, + {"matrix": [1, 7], "x": 13, "y": 4}, + {"matrix": [2, 6], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/peej/tripel/left/left.h b/keyboards/peej/tripel/left/left.h deleted file mode 100644 index 852a503e60..0000000000 --- a/keyboards/peej/tripel/left/left.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2021 Paul James - * - * 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 . - */ - -#pragma once - -#include "quantum.h" - -#define LAYOUT_ortho_7u( \ - l11, l12, l13, l14, l15, m11, m12, m13, m14, m15, r11, r12, r13, r14, r15, \ - l21, l22, l23, l24, l25, m21, m22, m23, m24, m25, r21, r22, r23, r24, r25, \ - l31, l32, l33, l34, l35, m31, m32, m33, m34, m35, r31, r32, r33, r34, r35, \ - l41, l42, l43, l44, l45, m41, m42, m43, m44, m45, r41, r42, r43, r44, r45, \ - l51, l52, l53, l54, m53, r52, r53, r54, r51 \ -) \ -{ \ - { r11, r12, r13, r14, r15, r25, r35, r45 }, \ - { r21, r22, r23, r24, r34, r44, r53, r54 }, \ - { r31, r32, r33, r43, r42, r41, r51, r52 }, \ - { l11, l12, l13, l14, l15, l25, l35, l45 }, \ - { l21, l22, l23, l24, l34, l44, l53, l54 }, \ - { l31, l32, l33, l43, l42, l41, l51, l52 }, \ - { m11, m12, m13, m14, m15, m25, m35, m45 }, \ - { m21, m22, m23, m24, m34, m44, m53, KC_NO }, \ - { m31, m32, m33, m43, m42, m41, KC_NO, KC_NO } \ -} diff --git a/keyboards/peej/tripel/middle/info.json b/keyboards/peej/tripel/middle/info.json new file mode 100644 index 0000000000..b1bdf10f82 --- /dev/null +++ b/keyboards/peej/tripel/middle/info.json @@ -0,0 +1,81 @@ +{ + "layouts": { + "LAYOUT_ortho_7u": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [3, 0], "x": 5, "y": 0}, + {"matrix": [3, 1], "x": 6, "y": 0}, + {"matrix": [3, 2], "x": 7, "y": 0}, + {"matrix": [3, 3], "x": 8, "y": 0}, + {"matrix": [3, 4], "x": 9, "y": 0}, + {"matrix": [6, 0], "x": 10, "y": 0}, + {"matrix": [6, 1], "x": 11, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [0, 5], "x": 4, "y": 1}, + {"matrix": [4, 0], "x": 5, "y": 1}, + {"matrix": [4, 1], "x": 6, "y": 1}, + {"matrix": [4, 2], "x": 7, "y": 1}, + {"matrix": [4, 3], "x": 8, "y": 1}, + {"matrix": [3, 5], "x": 9, "y": 1}, + {"matrix": [7, 0], "x": 10, "y": 1}, + {"matrix": [7, 1], "x": 11, "y": 1}, + {"matrix": [7, 2], "x": 12, "y": 1}, + {"matrix": [7, 3], "x": 13, "y": 1}, + {"matrix": [6, 5], "x": 14, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [1, 4], "x": 3, "y": 2}, + {"matrix": [0, 6], "x": 4, "y": 2}, + {"matrix": [5, 0], "x": 5, "y": 2}, + {"matrix": [5, 1], "x": 6, "y": 2}, + {"matrix": [5, 2], "x": 7, "y": 2}, + {"matrix": [4, 4], "x": 8, "y": 2}, + {"matrix": [3, 6], "x": 9, "y": 2}, + {"matrix": [8, 0], "x": 10, "y": 2}, + {"matrix": [8, 1], "x": 11, "y": 2}, + {"matrix": [8, 2], "x": 12, "y": 2}, + {"matrix": [7, 4], "x": 13, "y": 2}, + {"matrix": [6, 6], "x": 14, "y": 2}, + + {"matrix": [2, 5], "x": 0, "y": 3}, + {"matrix": [2, 4], "x": 1, "y": 3}, + {"matrix": [2, 3], "x": 2, "y": 3}, + {"matrix": [1, 5], "x": 3, "y": 3}, + {"matrix": [0, 7], "x": 4, "y": 3}, + {"matrix": [5, 5], "x": 5, "y": 3}, + {"matrix": [5, 4], "x": 6, "y": 3}, + {"matrix": [5, 3], "x": 7, "y": 3}, + {"matrix": [4, 5], "x": 8, "y": 3}, + {"matrix": [3, 7], "x": 9, "y": 3}, + {"matrix": [8, 5], "x": 10, "y": 3}, + {"matrix": [8, 4], "x": 11, "y": 3}, + {"matrix": [8, 3], "x": 12, "y": 3}, + {"matrix": [7, 5], "x": 13, "y": 3}, + {"matrix": [6, 7], "x": 14, "y": 3}, + + {"matrix": [2, 6], "x": 0, "y": 4}, + {"matrix": [2, 7], "x": 1, "y": 4}, + {"matrix": [1, 6], "x": 2, "y": 4}, + {"matrix": [1, 7], "x": 3, "y": 4}, + {"matrix": [4, 6], "x": 7, "y": 4, "w": 7}, + {"matrix": [8, 7], "x": 11, "y": 4}, + {"matrix": [7, 6], "x": 12, "y": 4}, + {"matrix": [7, 7], "x": 13, "y": 4}, + {"matrix": [8, 6], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/peej/tripel/middle/middle.h b/keyboards/peej/tripel/middle/middle.h deleted file mode 100644 index 450eb095c3..0000000000 --- a/keyboards/peej/tripel/middle/middle.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2021 Paul James - * - * 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 . - */ - -#pragma once - -#include "quantum.h" - -#define LAYOUT_ortho_7u( \ - l11, l12, l13, l14, l15, m11, m12, m13, m14, m15, r11, r12, r13, r14, r15, \ - l21, l22, l23, l24, l25, m21, m22, m23, m24, m25, r21, r22, r23, r24, r25, \ - l31, l32, l33, l34, l35, m31, m32, m33, m34, m35, r31, r32, r33, r34, r35, \ - l41, l42, l43, l44, l45, m41, m42, m43, m44, m45, r41, r42, r43, r44, r45, \ - l51, l52, l53, l54, m53, r52, r53, r54, r51 \ -) \ -{ \ - { l11, l12, l13, l14, l15, l25, l35, l45 }, \ - { l21, l22, l23, l24, l34, l44, l53, l54 }, \ - { l31, l32, l33, l43, l42, l41, l51, l52 }, \ - { m11, m12, m13, m14, m15, m25, m35, m45 }, \ - { m21, m22, m23, m24, m34, m44, m53, KC_NO }, \ - { m31, m32, m33, m43, m42, m41, KC_NO, KC_NO }, \ - { r11, r12, r13, r14, r15, r25, r35, r45 }, \ - { r21, r22, r23, r24, r34, r44, r53, r54 }, \ - { r31, r32, r33, r43, r42, r41, r51, r52 } \ -} diff --git a/keyboards/peej/tripel/right/info.json b/keyboards/peej/tripel/right/info.json new file mode 100644 index 0000000000..9916d317f2 --- /dev/null +++ b/keyboards/peej/tripel/right/info.json @@ -0,0 +1,81 @@ +{ + "layouts": { + "LAYOUT_ortho_7u": { + "layout": [ + {"matrix": [6, 0], "x": 0, "y": 0}, + {"matrix": [6, 1], "x": 1, "y": 0}, + {"matrix": [6, 2], "x": 2, "y": 0}, + {"matrix": [6, 3], "x": 3, "y": 0}, + {"matrix": [6, 4], "x": 4, "y": 0}, + {"matrix": [0, 0], "x": 5, "y": 0}, + {"matrix": [0, 1], "x": 6, "y": 0}, + {"matrix": [0, 2], "x": 7, "y": 0}, + {"matrix": [0, 3], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [3, 0], "x": 10, "y": 0}, + {"matrix": [3, 1], "x": 11, "y": 0}, + {"matrix": [3, 2], "x": 12, "y": 0}, + {"matrix": [3, 3], "x": 13, "y": 0}, + {"matrix": [3, 4], "x": 14, "y": 0}, + + {"matrix": [7, 0], "x": 0, "y": 1}, + {"matrix": [7, 1], "x": 1, "y": 1}, + {"matrix": [7, 2], "x": 2, "y": 1}, + {"matrix": [7, 3], "x": 3, "y": 1}, + {"matrix": [6, 5], "x": 4, "y": 1}, + {"matrix": [1, 0], "x": 5, "y": 1}, + {"matrix": [1, 1], "x": 6, "y": 1}, + {"matrix": [1, 2], "x": 7, "y": 1}, + {"matrix": [1, 3], "x": 8, "y": 1}, + {"matrix": [0, 5], "x": 9, "y": 1}, + {"matrix": [4, 0], "x": 10, "y": 1}, + {"matrix": [4, 1], "x": 11, "y": 1}, + {"matrix": [4, 2], "x": 12, "y": 1}, + {"matrix": [4, 3], "x": 13, "y": 1}, + {"matrix": [3, 5], "x": 14, "y": 1}, + + {"matrix": [8, 0], "x": 0, "y": 2}, + {"matrix": [8, 1], "x": 1, "y": 2}, + {"matrix": [8, 2], "x": 2, "y": 2}, + {"matrix": [7, 4], "x": 3, "y": 2}, + {"matrix": [6, 6], "x": 4, "y": 2}, + {"matrix": [2, 0], "x": 5, "y": 2}, + {"matrix": [2, 1], "x": 6, "y": 2}, + {"matrix": [2, 2], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [0, 6], "x": 9, "y": 2}, + {"matrix": [5, 0], "x": 10, "y": 2}, + {"matrix": [5, 1], "x": 11, "y": 2}, + {"matrix": [5, 2], "x": 12, "y": 2}, + {"matrix": [4, 4], "x": 13, "y": 2}, + {"matrix": [3, 6], "x": 14, "y": 2}, + + {"matrix": [8, 5], "x": 0, "y": 3}, + {"matrix": [8, 4], "x": 1, "y": 3}, + {"matrix": [8, 3], "x": 2, "y": 3}, + {"matrix": [7, 5], "x": 3, "y": 3}, + {"matrix": [6, 7], "x": 4, "y": 3}, + {"matrix": [2, 5], "x": 5, "y": 3}, + {"matrix": [2, 4], "x": 6, "y": 3}, + {"matrix": [2, 3], "x": 7, "y": 3}, + {"matrix": [1, 5], "x": 8, "y": 3}, + {"matrix": [0, 7], "x": 9, "y": 3}, + {"matrix": [5, 5], "x": 10, "y": 3}, + {"matrix": [5, 4], "x": 11, "y": 3}, + {"matrix": [5, 3], "x": 12, "y": 3}, + {"matrix": [4, 5], "x": 13, "y": 3}, + {"matrix": [3, 7], "x": 14, "y": 3}, + + {"matrix": [8, 6], "x": 0, "y": 4}, + {"matrix": [8, 7], "x": 1, "y": 4}, + {"matrix": [7, 6], "x": 2, "y": 4}, + {"matrix": [7, 7], "x": 3, "y": 4}, + {"matrix": [1, 6], "x": 7, "y": 4, "w": 7}, + {"matrix": [5, 7], "x": 11, "y": 4}, + {"matrix": [4, 6], "x": 12, "y": 4}, + {"matrix": [4, 7], "x": 13, "y": 4}, + {"matrix": [5, 6], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/peej/tripel/right/right.h b/keyboards/peej/tripel/right/right.h deleted file mode 100644 index 5fa38270c9..0000000000 --- a/keyboards/peej/tripel/right/right.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2021 Paul James - * - * 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 . - */ - -#pragma once - -#include "quantum.h" - -#define LAYOUT_ortho_7u( \ - l11, l12, l13, l14, l15, m11, m12, m13, m14, m15, r11, r12, r13, r14, r15, \ - l21, l22, l23, l24, l25, m21, m22, m23, m24, m25, r21, r22, r23, r24, r25, \ - l31, l32, l33, l34, l35, m31, m32, m33, m34, m35, r31, r32, r33, r34, r35, \ - l41, l42, l43, l44, l45, m41, m42, m43, m44, m45, r41, r42, r43, r44, r45, \ - l51, l52, l53, l54, m53, r52, r53, r54, r51 \ -) \ -{ \ - { m11, m12, m13, m14, m15, m25, m35, m45 }, \ - { m21, m22, m23, m24, m34, m44, m53, KC_NO }, \ - { m31, m32, m33, m43, m42, m41, KC_NO, KC_NO }, \ - { r11, r12, r13, r14, r15, r25, r35, r45 }, \ - { r21, r22, r23, r24, r34, r44, r53, r54 }, \ - { r31, r32, r33, r43, r42, r41, r51, r52 }, \ - { l11, l12, l13, l14, l15, l25, l35, l45 }, \ - { l21, l22, l23, l24, l34, l44, l53, l54 }, \ - { l31, l32, l33, l43, l42, l41, l51, l52 } \ -} -- cgit v1.2.3