forked from mirrors/qmk_userspace
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
				commit
				
					
						6b838785b7
					
				
			
		
					 4 changed files with 23 additions and 34 deletions
				
			
		| 
						 | 
					@ -145,7 +145,10 @@
 | 
				
			||||||
                            "type": "object",
 | 
					                            "type": "object",
 | 
				
			||||||
                            "additionalProperties": false,
 | 
					                            "additionalProperties": false,
 | 
				
			||||||
                            "properties": {
 | 
					                            "properties": {
 | 
				
			||||||
                                "label": {"type": "string"},
 | 
					                                "label": {
 | 
				
			||||||
 | 
					                                    "type": "string",
 | 
				
			||||||
 | 
					                                    "pattern": "^[^\\n]*$"
 | 
				
			||||||
 | 
					                                },
 | 
				
			||||||
                                "matrix": {
 | 
					                                "matrix": {
 | 
				
			||||||
                                    "type": "array",
 | 
					                                    "type": "array",
 | 
				
			||||||
                                    "minItems": 2,
 | 
					                                    "minItems": 2,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,10 +31,10 @@
 | 
				
			||||||
                {"label": "I", "x": 8, "y": 1},
 | 
					                {"label": "I", "x": 8, "y": 1},
 | 
				
			||||||
                {"label": "O", "x": 9, "y": 1},
 | 
					                {"label": "O", "x": 9, "y": 1},
 | 
				
			||||||
                {"label": "P", "x": 10, "y": 1},
 | 
					                {"label": "P", "x": 10, "y": 1},
 | 
				
			||||||
                {"label": "|\n\\", "x": 11, "y": 1},
 | 
					                {"label": "|", "x": 11, "y": 1},
 | 
				
			||||||
                {"label": "7\nHome", "x": 12, "y": 1},
 | 
					                {"label": "7", "x": 12, "y": 1},
 | 
				
			||||||
                {"label": "8\nUp", "x": 13, "y": 1},
 | 
					                {"label": "8", "x": 13, "y": 1},
 | 
				
			||||||
                {"label": "9\nPgUp", "x": 14, "y": 1},
 | 
					                {"label": "9", "x": 14, "y": 1},
 | 
				
			||||||
                {"label": "Caps", "x": 0, "y": 2},
 | 
					                {"label": "Caps", "x": 0, "y": 2},
 | 
				
			||||||
                {"label": "A", "x": 1, "y": 2},
 | 
					                {"label": "A", "x": 1, "y": 2},
 | 
				
			||||||
                {"label": "S", "x": 2, "y": 2},
 | 
					                {"label": "S", "x": 2, "y": 2},
 | 
				
			||||||
| 
						 | 
					@ -47,9 +47,9 @@
 | 
				
			||||||
                {"label": "L", "x": 9, "y": 2},
 | 
					                {"label": "L", "x": 9, "y": 2},
 | 
				
			||||||
                {"label": ":", "x": 10, "y": 2},
 | 
					                {"label": ":", "x": 10, "y": 2},
 | 
				
			||||||
                {"label": "Enter", "x": 11, "y": 2},
 | 
					                {"label": "Enter", "x": 11, "y": 2},
 | 
				
			||||||
                {"label": "4\nLeft", "x": 12, "y": 2},
 | 
					                {"label": "4", "x": 12, "y": 2},
 | 
				
			||||||
                {"label": "5", "x": 13, "y": 2},
 | 
					                {"label": "5", "x": 13, "y": 2},
 | 
				
			||||||
                {"label": "6\nRight", "x": 14, "y": 2},
 | 
					                {"label": "6", "x": 14, "y": 2},
 | 
				
			||||||
                {"label": "Shift", "x": 0, "y": 3},
 | 
					                {"label": "Shift", "x": 0, "y": 3},
 | 
				
			||||||
                {"label": "Z", "x": 1, "y": 3},
 | 
					                {"label": "Z", "x": 1, "y": 3},
 | 
				
			||||||
                {"label": "X", "x": 2, "y": 3},
 | 
					                {"label": "X", "x": 2, "y": 3},
 | 
				
			||||||
| 
						 | 
					@ -58,13 +58,13 @@
 | 
				
			||||||
                {"label": "B", "x": 5, "y": 3},
 | 
					                {"label": "B", "x": 5, "y": 3},
 | 
				
			||||||
                {"label": "N", "x": 6, "y": 3},
 | 
					                {"label": "N", "x": 6, "y": 3},
 | 
				
			||||||
                {"label": "M", "x": 7, "y": 3},
 | 
					                {"label": "M", "x": 7, "y": 3},
 | 
				
			||||||
                {"label": "<\n,", "x": 8, "y": 3},
 | 
					                {"label": "<", "x": 8, "y": 3},
 | 
				
			||||||
                {"label": ">\n.", "x": 9, "y": 3},
 | 
					                {"label": ">", "x": 9, "y": 3},
 | 
				
			||||||
                {"label": "?\n/", "x": 10, "y": 3},
 | 
					                {"label": "?", "x": 10, "y": 3},
 | 
				
			||||||
                {"label": "Shift", "x": 11, "y": 3},
 | 
					                {"label": "Shift", "x": 11, "y": 3},
 | 
				
			||||||
                {"label": "1\nEnd", "x": 12, "y": 3},
 | 
					                {"label": "1", "x": 12, "y": 3},
 | 
				
			||||||
                {"label": "2\nDown", "x": 13, "y": 3},
 | 
					                {"label": "2", "x": 13, "y": 3},
 | 
				
			||||||
                {"label": "3\nPgDn", "x": 14, "y": 3},
 | 
					                {"label": "3", "x": 14, "y": 3},
 | 
				
			||||||
                {"label": "Ctrl", "x": 0, "y": 4},
 | 
					                {"label": "Ctrl", "x": 0, "y": 4},
 | 
				
			||||||
                {"label": "Win", "x": 1, "y": 4},
 | 
					                {"label": "Win", "x": 1, "y": 4},
 | 
				
			||||||
                {"label": "Alt", "x": 2, "y": 4},
 | 
					                {"label": "Alt", "x": 2, "y": 4},
 | 
				
			||||||
| 
						 | 
					@ -77,8 +77,8 @@
 | 
				
			||||||
                {"label": "Win", "x": 9, "y": 4},
 | 
					                {"label": "Win", "x": 9, "y": 4},
 | 
				
			||||||
                {"label": "Menu", "x": 10, "y": 4},
 | 
					                {"label": "Menu", "x": 10, "y": 4},
 | 
				
			||||||
                {"label": "Ctrl", "x": 11, "y": 4},
 | 
					                {"label": "Ctrl", "x": 11, "y": 4},
 | 
				
			||||||
                {"label": "0\nIns", "x": 12, "y": 4},
 | 
					                {"label": "0", "x": 12, "y": 4},
 | 
				
			||||||
                {"label": ".\nDel", "x": 13, "y": 4},
 | 
					                {"label": ".", "x": 13, "y": 4},
 | 
				
			||||||
                {"label": "Enter", "x": 14, "y": 4}
 | 
					                {"label": "Enter", "x": 14, "y": 4}
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -116,13 +116,6 @@ def lint(cli):
 | 
				
			||||||
            if not keymap_check(kb, cli.config.lint.keymap):
 | 
					            if not keymap_check(kb, cli.config.lint.keymap):
 | 
				
			||||||
                ok = False
 | 
					                ok = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Check if all non-data driven macros exist in <keyboard.h>
 | 
					 | 
				
			||||||
        for layout, data in keyboard_info['layouts'].items():
 | 
					 | 
				
			||||||
            # Matrix data should be a list with exactly two integers: [0, 1]
 | 
					 | 
				
			||||||
            if not data['c_macro'] and not all('matrix' in key_data.keys() or len(key_data) == 2 or all(isinstance(n, int) for n in key_data) for key_data in data['layout']):
 | 
					 | 
				
			||||||
                cli.log.error(f'{kb}: "{layout}" has no "matrix" definition in either "info.json" or "<keyboard>.h"!')
 | 
					 | 
				
			||||||
                ok = False
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Report status
 | 
					        # Report status
 | 
				
			||||||
        if not ok:
 | 
					        if not ok:
 | 
				
			||||||
            failed.append(kb)
 | 
					            failed.append(kb)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,13 +26,6 @@ def _valid_community_layout(layout):
 | 
				
			||||||
    return (Path('layouts/default') / layout).exists()
 | 
					    return (Path('layouts/default') / layout).exists()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def _remove_newlines_from_labels(layouts):
 | 
					 | 
				
			||||||
    for layout_name, layout_json in layouts.items():
 | 
					 | 
				
			||||||
        for key in layout_json['layout']:
 | 
					 | 
				
			||||||
            if '\n' in key['label']:
 | 
					 | 
				
			||||||
                key['label'] = key['label'].split('\n')[0]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def info_json(keyboard):
 | 
					def info_json(keyboard):
 | 
				
			||||||
    """Generate the info.json data for a specific keyboard.
 | 
					    """Generate the info.json data for a specific keyboard.
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
| 
						 | 
					@ -111,9 +104,6 @@ def info_json(keyboard):
 | 
				
			||||||
    # Check that the reported matrix size is consistent with the actual matrix size
 | 
					    # Check that the reported matrix size is consistent with the actual matrix size
 | 
				
			||||||
    _check_matrix(info_data)
 | 
					    _check_matrix(info_data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Remove newline characters from layout labels
 | 
					 | 
				
			||||||
    _remove_newlines_from_labels(layouts)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return info_data
 | 
					    return info_data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -807,8 +797,11 @@ def merge_info_jsons(keyboard, info_data):
 | 
				
			||||||
                    for new_key, existing_key in zip(layout['layout'], info_data['layouts'][layout_name]['layout']):
 | 
					                    for new_key, existing_key in zip(layout['layout'], info_data['layouts'][layout_name]['layout']):
 | 
				
			||||||
                        existing_key.update(new_key)
 | 
					                        existing_key.update(new_key)
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                layout['c_macro'] = False
 | 
					                if not all('matrix' in key_data.keys() for key_data in layout['layout']):
 | 
				
			||||||
                info_data['layouts'][layout_name] = layout
 | 
					                    _log_error(info_data, f'Layout "{layout_name}" has no "matrix" definition in either "info.json" or "<keyboard>.h"!')
 | 
				
			||||||
 | 
					                else:
 | 
				
			||||||
 | 
					                    layout['c_macro'] = False
 | 
				
			||||||
 | 
					                    info_data['layouts'][layout_name] = layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Update info_data with the new data
 | 
					        # Update info_data with the new data
 | 
				
			||||||
        if 'layouts' in new_info_data:
 | 
					        if 'layouts' in new_info_data:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue