Full port of the KaSe/KeSp split keyboard configurator from egui to Slint: - 6 tabs: Keymap, Advanced, Macros, Stats, Settings, Flash - Responsive keyboard view with scale-to-fit and key rotations - Key selector popup with categorized grid, MT/LT builders, hex input - Combo key picker with inline keyboard visual - Macro step builder with visual tags - Serial communication via background threads + mpsc polling - Heatmap overlay with blue-yellow-red gradient - OTA flasher with prog port VID filtering and partition selector - WPM polling, Tamagotchi, Autoshift controls - Dracula theme matching egui version Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
260 lines
No EOL
11 KiB
JSON
260 lines
No EOL
11 KiB
JSON
{
|
|
"Group": {
|
|
"Children": [
|
|
{
|
|
"Line": {
|
|
"Orientation": "Horizontal",
|
|
"Children": [
|
|
{
|
|
"Group": {
|
|
"Children": [
|
|
{
|
|
"Line": {
|
|
"Orientation": "Horizontal",
|
|
"Children": [
|
|
{
|
|
"Line": {
|
|
"Children": [
|
|
{ "Keycap": { "Column": 0, "Row": 4 } },
|
|
{ "Keycap": { "Column": 0, "Row": 0 } },
|
|
{ "Keycap": { "Column": 0, "Row": 1 } },
|
|
{ "Keycap": { "Column": 0, "Row": 2 } },
|
|
{ "Keycap": { "Column": 0, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Children": [
|
|
{ "Keycap": { "Column": 1, "Row": 4 } },
|
|
{ "Keycap": { "Column": 1, "Row": 0 } },
|
|
{ "Keycap": { "Column": 1, "Row": 1 } },
|
|
{ "Keycap": { "Column": 1, "Row": 2 } },
|
|
{ "Keycap": { "Column": 1, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "8,25,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 5 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 2, "Row": 0 } },
|
|
{ "Keycap": { "Column": 2, "Row": 1 } },
|
|
{ "Keycap": { "Column": 2, "Row": 2 } },
|
|
{ "Keycap": { "Column": 2, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "10,5,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 10 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 3, "Row": 0 } },
|
|
{ "Keycap": { "Column": 3, "Row": 1 } },
|
|
{ "Keycap": { "Column": 3, "Row": 2 } },
|
|
{ "Keycap": { "Column": 3, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "0,25,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 10 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 4, "Row": 0 } },
|
|
{ "Keycap": { "Column": 4, "Row": 1 } },
|
|
{ "Keycap": { "Column": 4, "Row": 2 } },
|
|
{ "Keycap": { "Column": 4, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "0,38,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 10 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 5, "Row": 0 } },
|
|
{ "Keycap": { "Column": 5, "Row": 1 } },
|
|
{ "Keycap": { "Column": 5, "Row": 2 } },
|
|
{ "Keycap": { "Column": 5, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Keycap": {
|
|
"Column": 6,
|
|
"Row": 0,
|
|
"Margin": "-8,170,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 10 } }
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{ "Keycap": { "Column": 2, "Row": 4, "Width": 60, "Margin": "110,228,0,0" } },
|
|
{
|
|
"Keycap": {
|
|
"Column": 3,
|
|
"Row": 4,
|
|
"Margin": "174,225,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 10 } }
|
|
}
|
|
},
|
|
{
|
|
"Keycap": {
|
|
"Column": 4,
|
|
"Row": 4,
|
|
"Margin": "228,240,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 20 } }
|
|
}
|
|
},
|
|
{
|
|
"Keycap": {
|
|
"Column": 5,
|
|
"Row": 4,
|
|
"Margin": "280,270,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 40 } }
|
|
}
|
|
},
|
|
{
|
|
"Keycap": {
|
|
"Column": 6,
|
|
"Row": 4,
|
|
"Margin": "320,305,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": 40 } }
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Group": {
|
|
"Margin": "420,0,0,0",
|
|
"HorizontalAlignment": "Right",
|
|
"Children": [
|
|
{
|
|
"Line": {
|
|
"Orientation": "Horizontal",
|
|
"Margin": "0,290,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -40 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 6, "Row": 3 } },
|
|
{ "Keycap": { "Column": 7, "Row": 4 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Keycap": {
|
|
"Column": 8,
|
|
"Row": 4,
|
|
"Margin": "95,245,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -20 } }
|
|
}
|
|
},
|
|
{
|
|
"Keycap": {
|
|
"Column": 9,
|
|
"Row": 4,
|
|
"Margin": "145,230,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -10 } }
|
|
}
|
|
},
|
|
{ "Keycap": { "Column": 10, "Row": 4, "Width": 60, "Margin": "200,228,0,0" } },
|
|
{
|
|
"Line": {
|
|
"Orientation": "Horizontal",
|
|
"Children": [
|
|
{
|
|
"Keycap": {
|
|
"Column": 6,
|
|
"Row": 2,
|
|
"Margin": "0,170,-8,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -10 } }
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "0,38,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -10 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 7, "Row": 0 } },
|
|
{ "Keycap": { "Column": 7, "Row": 1 } },
|
|
{ "Keycap": { "Column": 7, "Row": 2 } },
|
|
{ "Keycap": { "Column": 7, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "0,25,0,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -10 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 8, "Row": 0 } },
|
|
{ "Keycap": { "Column": 8, "Row": 1 } },
|
|
{ "Keycap": { "Column": 8, "Row": 2 } },
|
|
{ "Keycap": { "Column": 8, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "0,5,10,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -10 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 9, "Row": 0 } },
|
|
{ "Keycap": { "Column": 9, "Row": 1 } },
|
|
{ "Keycap": { "Column": 9, "Row": 2 } },
|
|
{ "Keycap": { "Column": 9, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Margin": "0,25,8,0",
|
|
"RenderTransform": { "RotateTransform": { "Angle": -5 } },
|
|
"Children": [
|
|
{ "Keycap": { "Column": 10, "Row": 0 } },
|
|
{ "Keycap": { "Column": 10, "Row": 1 } },
|
|
{ "Keycap": { "Column": 10, "Row": 2 } },
|
|
{ "Keycap": { "Column": 10, "Row": 3 } }
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Children": [
|
|
{ "Keycap": { "Column": 11, "Row": 4 } },
|
|
{ "Keycap": { "Column": 11, "Row": 0 } },
|
|
{ "Keycap": { "Column": 11, "Row": 1 } },
|
|
{ "Keycap": { "Column": 11, "Row": 2 } },
|
|
{ "Keycap": { "Column": 11, "Row": 3 } }
|
|
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"Line": {
|
|
"Children": [
|
|
{ "Keycap": { "Column": 12, "Row": 4 } },
|
|
{ "Keycap": { "Column": 12, "Row": 0 } },
|
|
{ "Keycap": { "Column": 12, "Row": 1 } },
|
|
{ "Keycap": { "Column": 12, "Row": 2 } },
|
|
{ "Keycap": { "Column": 12, "Row": 3 } }
|
|
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
} |