HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/keyboard.cpython-310.pyc
o

�N�gM
�@sJdZddlZddlZe�e�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�ZdS)
zt
Module for managing keyboards on supported POSIX-like systems using
systemd, or such as Redhat, Debian and Gentoo.
�NcCs"tjj�d�s
tddvrdSdS)zD
    Only works with systemd or on supported POSIX-like systems
    �	localectl�	os_family)�RedHat�Debian�GentooT)Fz~The keyboard exeuction module cannot be loaded: only works on Redhat, Debian or Gentoo systems or if localectl binary in path.)�salt�utils�path�which�
__grains__�rr�I/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/keyboard.py�__virtual__
srcCsvd}tjj�d�rd}ndtdvrd}ndtdvrd}nd	tdvr&d
}td|dd
��d�}|d�dd�}|S)z|
    Get current system keyboard setting

    CLI Example:

    .. code-block:: bash

        salt '*' keyboard.get_sys
    �rz8localectl | grep Keymap | sed -e"s/: /=/" -e"s/^[ 	]*//"rrz3grep LAYOUT /etc/sysconfig/keyboard | grep -vE "^#"rz4grep XKBLAYOUT /etc/default/keyboard | grep -vE "^#"rz2grep "^keymap" /etc/conf.d/keymaps | grep -vE "^#"�cmd.runT�Zpython_shell�=��")rrr	r
r�__salt__�split�replace)�cmd�out�retrrr
�get_syss
rcCs�tjj�d�rtdd|���|Sdtdvr%tdddd	|���|Sd
tdvr8tdddd
|���|SdtdvrItdddd|���|S)z�
    Set current system keyboard setting

    CLI Example:

    .. code-block:: bash

        salt '*' keyboard.set_sys dvorak
    rrzlocalectl set-keymap rrzfile.sedz/etc/sysconfig/keyboardz
^LAYOUT=.*zLAYOUT=rz/etc/default/keyboardz
^XKBLAYOUT=.*z
XKBLAYOUT=rz/etc/conf.d/keymapsz
^keymap=.*zkeymap=)rrr	r
rr)�layoutrrr
�set_sys7s 
��	���rcCs&d}td|dd��d�}|d��S)zu
    Get current X keyboard setting

    CLI Example:

    .. code-block:: bash

        salt '*' keyboard.get_x
    zsetxkbmap -query | grep layoutrTr�:r)rr�strip)rrrrr
�get_xPs
r cCsd|��}td|�|S)z|
    Set current X keyboard setting

    CLI Example:

    .. code-block:: bash

        salt '*' keyboard.set_x dvorak
    z
setxkbmap r)r)rrrrr
�set_x_s

r!)�__doc__�loggingZsalt.utils.pathr�	getLogger�__name__�logrrrr r!rrrr
�<module>s