如何将键盘连接到tinyX服务器

发布于 2024-12-20 02:18:42 字数 326 浏览 3 评论 0原文

我在 buildroot 的帮助下为我的arm开发板编译了根文件系统。我的rootfs包含TinyX服务器和火柴盒作为窗口管理器。然后我通过下面的脚本启动了x服务器。

导出 DISPLAY=:0

X -wr -keybd 键盘 -mouse 鼠标 & (TinyX)

火柴盒会话 &

我面临的问题是键盘在 TinyX 服务器中无法工作。 TinyX 服务器产生以下错误消息 “Linux 控制台键盘驱动程序想要在 [0, 0] 之外发布扫描代码 57!” 对于所有按键按下和释放。 但鼠标工作正常。

有人可以给我一些建议来解决这个问题吗?

I have compiled root file system for my arm development board with the help of buildroot.My rootfs contains TinyX server and match-box as window manager.Then i have launched the x server by this script below.

export DISPLAY=:0

X -wr -keybd keyboard -mouse mouse & (TinyX)

matchbox-session &

The problem that i am facing is keyboard not working in the TinyX server.
The TinyX server is producing the following error message
"driver Linux console keyboard wanted to post scancode 57 outside of [0, 0]!"
for all key press and release.
But mouse is working fine.

Can anybody please give me some suggestions to troubleshoot this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅听莫相离 2024-12-27 02:18:42

Env:Ubuntu 12.10 主机上的 QEMU qemu-system-arm 版本 1.2.0。
Guest:内核 3.2.21

ARMv7l Verstatile Express

模拟板:使用 Buildroot 版本 12.08 构建的具有 X 支持的 Root 文件系统等; TinyX X 服务器。

运行 qemu:

/usr/bin/qemu-system-arm -M vexpress-a9 -kernel <kernel> -drive file=<rootfs-ext2-img>,if=sd -append "console=ttyAMA0,115200 root=/dev/mmcblk0 init=/myinit.sh" -serial stdio -net nic,model=lan9118 -net user

一旦来宾运行,我们就会有一个控制台窗口和一个图形 qemu 窗口(一开始是空的)。

在访客控制台窗口中:
启动X:

Xfbdev :0 -keybd evdev,,device=/dev/input/event0 -mouse evdev,,device=/dev/input/event1 &

然后加载xterm等。

我使用一个简单的脚本,这里是:

# cat Xstart.sh 
#!/bin/ash
unset USERNAME LOGNAME

echo Setting up X server ..
# kill any stale instance
kill $(ps |grep Xfb|head -n1|awk '{print $1}') 2> /dev/null
export DISPLAY=:0

# How to determine 'mouse' dev?
# dmesg shows :
# input: AT Raw Set 2 keyboard as /devices/mb:kmi0/serio0/input/input0
# input: ImExPS/2 Generic Explorer Mouse as /devices/mb:kmi1/serio1/input/input1
# QEMU_ARM_BR / # ls /sys//devices/mb:kmi1/serio1/input/input1
# capabilities/ id/           name          properties    uniq
# device@       modalias      phys          subsystem@
# event1/       mouse0/       power/        uevent
# Can see the only 'event' file is 'event1', so we use it!

Xfbdev :0 -keybd evdev,,device=/dev/input/event0 -mouse evdev,,device=/dev/input/event1 &

sleep 1
echo "Running fluxbox & xterm .."
DISPLAY=:0 xterm 2> /dev/null &
DISPLAY=:0 fluxbox 2> /dev/null &

echo "### Please wait a bit for X to initialize & come up ... ###"
sleep 3
echo "Press [Enter] to use this console..."
read

# 

注意如何确定鼠标、键盘设备的提示:查找dmesg输出..

Env: QEMU qemu-system-arm ver 1.2.0 on Ubuntu 12.10 host.
Guest: kernel 3.2.21

Emulated board: ARMv7l Verstatile Express

Root filesystem with X support, etc built using Buildroot ver 12.08; TinyX X server.

Ran qemu with:

/usr/bin/qemu-system-arm -M vexpress-a9 -kernel <kernel> -drive file=<rootfs-ext2-img>,if=sd -append "console=ttyAMA0,115200 root=/dev/mmcblk0 init=/myinit.sh" -serial stdio -net nic,model=lan9118 -net user

Once the guest is running, we have a console window and a graphical qemu window (which is empty to start with).

In the guest console window:
Start X:

Xfbdev :0 -keybd evdev,,device=/dev/input/event0 -mouse evdev,,device=/dev/input/event1 &

Then load up xterm, etc.

I use a simple script, here it is:

# cat Xstart.sh 
#!/bin/ash
unset USERNAME LOGNAME

echo Setting up X server ..
# kill any stale instance
kill $(ps |grep Xfb|head -n1|awk '{print $1}') 2> /dev/null
export DISPLAY=:0

# How to determine 'mouse' dev?
# dmesg shows :
# input: AT Raw Set 2 keyboard as /devices/mb:kmi0/serio0/input/input0
# input: ImExPS/2 Generic Explorer Mouse as /devices/mb:kmi1/serio1/input/input1
# QEMU_ARM_BR / # ls /sys//devices/mb:kmi1/serio1/input/input1
# capabilities/ id/           name          properties    uniq
# device@       modalias      phys          subsystem@
# event1/       mouse0/       power/        uevent
# Can see the only 'event' file is 'event1', so we use it!

Xfbdev :0 -keybd evdev,,device=/dev/input/event0 -mouse evdev,,device=/dev/input/event1 &

sleep 1
echo "Running fluxbox & xterm .."
DISPLAY=:0 xterm 2> /dev/null &
DISPLAY=:0 fluxbox 2> /dev/null &

echo "### Please wait a bit for X to initialize & come up ... ###"
sleep 3
echo "Press [Enter] to use this console..."
read

# 

Notice the hint on how to determine mouse, keyboard device: look up dmesg output..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文