yocto:改变core-image-sato中的键盘布局支持

时间:2015-01-27 08:51:09

标签: keyboard yocto

我想将不同的键盘布局(如阿拉伯语或波斯语)添加到core-image-sato,遗憾的是我不知道如何以及在何处搜索它。任何人都可以提供任何提示或解决方案吗?

2 个答案:

答案 0 :(得分:1)

虽然我不知道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)。

答案 1 :(得分:0)

我来这里要求同样的事情,我认为你可能已经解决了这个问题已经很久了。我通过浏览食谱找到答案,你必须:

- 在任何地方包含kbd-keymaps包(例如在你的local.conf中通过IMAGE_INSTALL_append)。

-check / usr / share / keymaps /看到一切都在那里。

使用" loadkeys"加载任何键映射。 (应该包括在你的发行版中,如果没有,强制它同样的方式)。

HTH。