Feb 2, 2010

HAL or not?

Beginning with Ubuntu 8.10, input device configuration is done through HAL rather than in your xorg.conf. The syntax for HAL fdi files is a bit different than xorg.conf, and editing XML is only marginally better than editing xorg.conf... but on the plus side configuration changes don't require an X restart - just replugging of the device.

Essentially, to configure a device, add a new fdi file for it to your /etc/hal/fdi/policy directory. You will then need to replug the device or log out and in again for the changes to take effect.

But I try to get work the catching events from mouse and keyboards directly from event queues, it didn't work because of the HAL. So i had to remove HAL. But be mind that as it is the hardware layer, All hardware stuff is controlling with it. So before removing halt, you should do:

1- Backup /etc/X11/xorg.conf file.
2- Modify /etc/X11/Xorg.conf with something like this :
Section "ServerFlags"
Option "AutoAddDevices" "False"
Option "AllowEmptyInput" "False"
EndSection
2- Add touchpad,keyboard as pointer otherwise, you should do everything on console

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Configured Mouse" "CorePointer"
InputDevice "Synaptics Touchpad"
EndSection

Section "Module"
Load "glx"
Load "synaptics"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "no"
# Option "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZaxisMapping" "4 5 6 7"
Option "Buttons" "9"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "SHMConfig" "on"
Option "HorizScrollDelta" "0"
EndSection

3- Be mind that there will ne no network manager when you remove HAL, so you should know how to change related network files. Mine is like that

#auto lo
#iface lo inet loopback

auto eth0
iface eth0 inet dhcp

4- but it is not finished yet, you should change DNS in

# Generated by NetworkManager
nameserver your DNS ip
nameserver your dns ip

5- This disable the hal support, but if you want to have the keyboard and mice, you must install the following packages :
  • xserver-xorg-input-kbd
  • xserver-xorg-input-mouse

--> Now you can easily remove HAL from synaptic package manager and have fun with capturing keyboards, mouse events etc... Take all controls in your hand ! That's the beauty of linux...

Some information about HAL from http://www.linux-magazine.com/Online/News/Ubuntu-10.04-Alpha-2-Removes-HAL

"HAL" unfortunately isn't the heinous supercomputer from Kubrick's film 2001, but Ubuntu's Hardware Abstraction Layer between Ubuntu's hardware and software. It has now disappeared entirely from the current Ubuntu 10.04 test version, it's function being taken over among other things by DeviceKit. The advantage to this, according to the official announcement, is that Ubuntu has a faster boot and startup from hibernate time.

Alpha 2 provides Kernel version 2.6.32-10.14 and has the newest GNOME and KDE packages on board. The GNOME desktop is version 2.29.4 and KDE is 4.4 RC1. Interestingly, the three proprietary versions of NVIDIA graphics drivers (190.53, 173 and 96) can be installed at the same time without a problem, provided only one is configured for use. In the past the automatic installation of the wrong driver version via Jockey could lead to a failed graphical interface in some applications. Further enhancements went into Ubuntu's Enterprise Cloud (UEC) that is now based on Eucalyptus 1.6.2.

As usual, the announcement warns about known issues with implementing Alpha 2. Removing HAL has the consequence that Wacom drivers can no longer be used for drawing tablets. Desktop ISOs from Kubuntu no longer fit on a CD, so they need to be burned to a DVD or USB stick. A LiveCD reboot can freeze on the boot logo on systems supporting Kernel Mode Setting (KMS), which may indeed be a Plymouth error. The workaround is to boot from USB stick instead of CD. The notification bubbles are rather hideous at the moment, as the notification system is still in debug mode during the development phase.

No comments:

Post a Comment

Visual Studio Keyboard Shortcuts

Playing with keyboard shortcuts is very interesting and reduce the headache of using the mouse again and again while programming with visu...