diff options
author | Devaev Maxim <[email protected]> | 2019-02-18 06:22:59 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2019-02-18 06:22:59 +0300 |
commit | 6a0de7c329e45d406d12453b4de397f3d983f1d0 (patch) | |
tree | 69d00acd56a32a6962e59594348146f3431a1e89 /genmap.py | |
parent | d555f1d4823938022914b4cbbeef40a197ca8069 (diff) |
license
Diffstat (limited to 'genmap.py')
-rwxr-xr-x | genmap.py | 74 |
1 files changed, 72 insertions, 2 deletions
@@ -1,6 +1,28 @@ #!/usr/bin/env python3 +# ========================================================================== # +# # +# KVMD - The The main Pi-KVM daemon. # +# # +# Copyright (C) 2018 Maxim Devaev <[email protected]> # +# # +# 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 3 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 <https://www.gnu.org/licenses/>. # +# # +# ========================================================================== # +import textwrap + from typing import List from typing import NamedTuple @@ -27,18 +49,66 @@ def main() -> None: js_key=parts[2], )) - with open("kvmd/data/keymap.yaml", "w") as keymap_yaml_file: + path = "kvmd/data/keymap.yaml" + with open(path, "w") as keymap_yaml_file: + keymap_yaml_file.write(textwrap.dedent(""" + # ========================================================================== # + # # + # KVMD - The The main Pi-KVM daemon. # + # # + # Copyright (C) 2018 Maxim Devaev <[email protected]> # + # # + # 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 3 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 <https://www.gnu.org/licenses/>. # + # # + # ========================================================================== # + """).strip() + "\n\n\n") yaml.dump({ km.js_key: km.kvmd_code for km in keymap }, keymap_yaml_file, indent=4, default_flow_style=False) + print("Generated:", path) - with open("hid/src/keymap.h", "w") as hid_header_file: + path = "hid/src/keymap.h" + with open(path, "w") as hid_header_file: + hid_header_file.write(textwrap.dedent(""" + /***************************************************************************** + # # + # KVMD - The The main Pi-KVM daemon. # + # # + # Copyright (C) 2018 Maxim Devaev <[email protected]> # + # # + # 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 3 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 <https://www.gnu.org/licenses/>. # + # # + *****************************************************************************/ + """).strip() + "\n\n\n") hid_header_file.write("#pragma once\n\n#include <HID-Project.h>\n\n#include \"inline.h\"\n\n\n") hid_header_file.write("INLINE KeyboardKeycode keymap(uint8_t code) {\n\tswitch(code) {\n") for km in sorted(keymap, key=(lambda km: km.arduino_hid_key)): hid_header_file.write("\t\tcase {km.kvmd_code}: return {km.arduino_hid_key};\n".format(km=km)) hid_header_file.write("\t\tdefault: return KEY_ERROR_UNDEFINED;\n\t}\n}\n") + print("Generated:", path) if __name__ == "__main__": |