Я хочу добавить другую раскладку клавиатуры — например, арабскую или персидскую — в core-image-sato , к сожалению, я понятия не имею, как и где ее искать. может ли кто-нибудь дать какие-либо советы или решения?
yocto: изменение поддержки раскладки клавиатуры в core-image-sato
Ответы (2)
Хотя я не знаю core-image-sato
, этот ответ, вероятно, поможет вам. В моем случае я хотел загрузить швейцарско-немецкую раскладку клавиш для консоли при запуске. Поэтому я написал небольшой systemd-сервис, который запускает loadkeys
с пользовательской раскладкой клавиш.
Все завернуто в рецепт bitbake:
kbdlayout.bb:
DESCRIPTION = "Setup a default (german) keyboard-layout for the console only"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
inherit systemd
PV = "0.2"
PACKAGE_ARCH = "voisee"
SRCREV = "HEAD"
SRC_URI = "file://kbdlayout.service \
file://de_CH-latin1.bmap \
"
do_install () {
install -d ${D}/${sysconfdir}
install -m 0755 ${WORKDIR}/de_CH-latin1.bmap ${D}/${sysconfdir}/keymap.map
install -d ${D}/${base_libdir}/systemd/system
install -m 0644 ${WORKDIR}/kbdlayout.service ${D}/${base_libdir}/systemd/system/
}
NATIVE_SYSTEMD_SUPPORT = "1"
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "kbdlayout.service"
FILES_${PN} += "${base_libdir}/systemd"
kbdlayout/kbdlayout.service:
[Unit]
Description=Loads custom keymap if available
ConditionPathExists=/etc/keymap.map
[Service]
ExecStart=/bin/sh -c '/usr/bin/loadkeys /etc/keymap.map'
[Install]
WantedBy=multi-user.target
И тогда вам нужно, чтобы ваш реальный файл макета (в моем случае de_CH-latin1.bmap
) был помещен в папку kbdlayout
помимо рецепта.
Я пришел сюда с просьбой о том же, и я предполагаю, что вы, вероятно, исправили это, поскольку вопрос довольно старый. Я нашел ответ, просматривая рецепты, и вам нужно:
-включите пакет kbd-keymaps в любом месте (например, в вашем local.conf через IMAGE_INSTALL_append).
-проверьте /usr/share/keymaps/, чтобы увидеть, что там все есть.
- загрузите любую раскладку с помощью «loadkeys» (должно быть включено в ваш дистрибутив, если нет, принудительно сделайте это так же).
ХТН.