⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.144
Server IP:
157.245.143.252
Server:
Linux www 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64
Server Software:
nginx/1.26.0
PHP Version:
8.3.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3
/
dist-packages
/
cloudinit
/
config
/
View File Name :
cc_keyboard.py
# Copyright (c) 2022 Floris Bos # # Author: Floris Bos
# # This file is part of cloud-init. See LICENSE file for license information. """keyboard: set keyboard layout""" import logging from cloudinit import distros from cloudinit.cloud import Cloud from cloudinit.config import Config from cloudinit.config.schema import MetaSchema from cloudinit.settings import PER_INSTANCE # FIXME: setting keyboard layout should be supported by all OSes. # But currently only implemented for Linux distributions that use systemd, # plus Alpine Linux. DEFAULT_KEYBOARD_MODEL = "pc105" supported_distros = distros.Distro.expand_osfamily( ["alpine", "arch", "debian", "redhat", "suse"] ) meta: MetaSchema = { "id": "cc_keyboard", "distros": supported_distros, "frequency": PER_INSTANCE, "activate_by_schema_keys": ["keyboard"], } # type: ignore LOG = logging.getLogger(__name__) def handle(name: str, cfg: Config, cloud: Cloud, args: list) -> None: if "keyboard" not in cfg: LOG.debug( "Skipping module named %s, no 'keyboard' section found", name ) return kb_cfg = cfg["keyboard"] layout = kb_cfg["layout"] if cloud.distro.name == "alpine": model = kb_cfg.get("model", "") else: model = kb_cfg.get("model", DEFAULT_KEYBOARD_MODEL) variant = kb_cfg.get("variant", "") options = kb_cfg.get("options", "") LOG.debug("Setting keyboard layout to '%s'", layout) cloud.distro.set_keymap(layout, model, variant, options)