aboutsummaryrefslogtreecommitdiff
path: root/.i3-blocks/blocks/keymap
blob: f25ee98d16591eaa93b0543ef6b4f8eed89678c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash

KEYMAP_DIRECTORY='/usr/share/kbd/keymaps'

# Aprrently localectl status does not update on keymap change. However, setxkbmap does.
XKB_OUTPUT=$(setxkbmap -query)
VC_KEYMAP=$(echo "${XKB_OUTPUT}" | grep "layout" | awk -F ':' '{print $2}' | tr -d ' ')
VC_VARIANT=$(echo "${XKB_OUTPUT}" | grep "variant" | awk -F ':' '{print $2}' | tr -d ' ')

# Keymap has not been specific, so it's not configured properly
if [[ "${VC_KEYMAP}" == "" ]]; then
  exit 1
fi

KEYMAP_FILE="${VC_KEYMAP}*"

if [[ "${VC_VARIANT}" != "" ]]; then
  KEYMAP_FILE="${KEYMAP_FILE}${VC_VARIANT}*"
fi

KEYMAP_NAME=$(basename $(dirname $(find ${KEYMAP_DIRECTORY} -name "${KEYMAP_FILE}")))

if [[ "${KEYMAP_NAME}" ]]; then
  echo "${KEYMAP_NAME}"
  echo "${KEYMAP_NAME}"
  echo ""
fi