Keyboard yocto:更改核心图像sato中的键盘布局支持
我想在核心图像sato中添加不同的键盘布局,如阿拉伯语或波斯语,不幸的是,我不知道如何以及在何处搜索它。有人能给出一些提示或解决方案吗?虽然我不知道核心图像sato,但这个答案可能对您有所帮助。在我的例子中,我希望在启动时为控制台加载瑞士-德国密钥映射。因此,我编写了一个小型systemd服务,它使用自定义密钥映射启动Keyboard yocto:更改核心图像sato中的键盘布局支持,keyboard,yocto,Keyboard,Yocto,我想在核心图像sato中添加不同的键盘布局,如阿拉伯语或波斯语,不幸的是,我不知道如何以及在何处搜索它。有人能给出一些提示或解决方案吗?虽然我不知道核心图像sato,但这个答案可能对您有所帮助。在我的例子中,我希望在启动时为控制台加载瑞士-德国密钥映射。因此,我编写了一个小型systemd服务,它使用自定义密钥映射启动loadkeys。 全部包装在bitbake配方中: kbdlayout.bb: DESCRIPTION = "Setup a default (german) keyboard-
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
文件夹中。虽然我不知道核心图像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
文件夹中。虽然我不知道核心图像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
文件夹中。虽然我不知道核心图像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包(例如,通过IMAGE\u INSTALL\u append在local.conf中)
-检查/usr/share/keymaps/查看所有内容
-使用“loadkeys”加载任何keymap(应该包含在发行版中,如果没有,则以相同的方式强制加载)
嗯 我来这里是想问同样的问题,我想你可能已经解决了,因为这个问题已经很老了。我通过浏览食谱找到了答案,你必须: -在任何地方都包括kbd keymaps包(例如,通过IMAGE\u INSTALL\u append在local.conf中) -检查/usr/share/keymaps/查看所有内容 -使用“loadkeys”加载任何keymap(应该包含在发行版中,如果没有,则以相同的方式强制加载)
嗯 我来这里是想问同样的问题,我想你可能已经解决了,因为这个问题已经很老了。我通过浏览食谱找到了答案,你必须: -在任何地方都包括kbd keymaps包(例如,通过IMAGE\u INSTALL\u append在local.conf中) -检查/usr/share/keymaps/查看所有内容 -使用“loadkeys”加载任何keymap(应该包含在发行版中,如果没有,则以相同的方式强制加载)
嗯 我来这里是想问同样的问题,我想你可能已经解决了,因为这个问题已经很老了。我通过浏览食谱找到了答案,你必须: -在任何地方都包括kbd keymaps包(例如,通过IMAGE\u INSTALL\u append在local.conf中) -检查/usr/share/keymaps/查看所有内容 -使用“loadkeys”加载任何keymap(应该包含在发行版中,如果没有,则以相同的方式强制加载) 嗯