Xorg Girdi Aygıtlarının Otomatik Tanıtılması

From ArchWiki

Jump to: navigation, search
i18n
English
Türkçe

Contents

ŞU AN ARCH'DAKİ DURUMU

Girdi aygıtları otomatik tanıma özelliği xorg-server 1.5.x paketlerinde etkinleştirilmiştir. Eski 1.4.x versiyor xorg-server paketlerinde bu özellik etkin değildir.

GEREKSİNİMLERİ

Bu özelliği kullanabilmek için "xf86-input-evdev" paketine ihtiyaç vardır. Bu modül öntanımlı olarak klavye ve mouse yapılandırmalarını kontrol etmektedir. "xf86-input-vmmouse" ve xf86-input-synaptics" gibi diğer sürücüler de donanımınız desteklediği sürece evdev yerine bu sürücülerin kullanılacağı otmatik tanıma özelliğiyle ilgili konfigürasyon dosyaları içermektedir. Desteklenen sürücüyü yüklemenin dışında ayrıca dbus ve hal'ın da çalışıyor olması gerekmektedir. /etc/rc.conf'un DAEMONS satırına Xorg ile ilgili birşey başlamadan önce çalışacak şekilde hal'ı ekleyiniz. Hal otomatik olarak dbus'ı yükleyecektir.

YAPILANDIRMA

Girdi aygıtları tak çalıştır olmasına rağmen klavyeler yapılandırma gerektirir. Şu an için tak çalıştır klavyelerin klavye düzenini otomatik yapılandıracak bir yol yoktur. Öntanımlı klavye düzeni bir hal.fdi dosyasında yapılandırılmalıdır. Öntanımlı klavye düzeni US olarak yapılandırılmıştır ve hal paketindeki bir yapılandırma dosyası olan "/usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi" dosyası içinden yapılandırılır. Bu dosya her hal güncellemesinde üzerine yazıldığı için /etc/hal/fdi/policy klasörüne kopyalanmalıdır. Bu klasördeki dosyalar /usr/share altındaki dosyaları geçersiz kılacaktır. Değiştirmek isteyecekleriniz "input.xkb.layout" ve "input.xkb.variant"dır. Dosyada listelenmemiş diğer seçenekler "input.xkb.rules", "input.xkb.model" ve "input.xkb.options" önceden xorg.conf'a koyduğunuz seçeneklere benzemektedir.

Gözatabileceğiniz diğer dosyalar; öntanımlı klave ve mouse sürücülerini yapılandıran "10-x11-input.fdi” ve synaptic touchpad'i yapılandıran "11-x11-synaptics.fdi"dir.( xf86-input-synaptics sürücüleriniz yüklüyse)

.fdi dosyalarını değiştirdikten sonra hal'ı yeniden başlatmak gerektiğini unutmayınız. Değişiklikleri otomatik algılamayacaktır. X ise yeniden başlatmaya ihtiyaç duymaz. Hal yeniden yapılandırılmadan önce eklenen aygıtlar bilgisayarı baştan başlatana kadar eski yapılandırılmasıyla çalışmaya devam edecektir. Fakat sisteme aygıt eklemek veya kaldırmak yine onları yeniden yapılandıracaktır. (Burayı bir düzenle) Bu, tümleşik klavye kullanan dizüstü bilgisayarlar ve tak çalıştır özelliğini desteklemeyen aygıtlar için (PS/2 fare ve klavyeler gibi) kullanışlı değildir.


S.S.S / SORUN GİDERME

Fare ve klavyemi xorg.conf'da yapılandırdım, ama X bunları kullanmıyor?

Girdi aygıtları otomatik tanıma özelliği etkinleştirildiğinde X, kdb ve fare sürücülerini kullanan aygıt ayarlarını temizleyecektir.

Bu özelliği istemiyorum. Nasıl kapatabilirim?

Girdi aygıtları otomatik tanıma özelliğini kullanmak istemiyorsanız /etc/X11/xorg.conf içinde Section “ServerFlags” altına Option "AutoAddDevices" "False" seçeneğini ekleyin.

  Section "ServerFlags"
    Option "AutoAddDevices" "False"
  EndSection

Bu şekilde hal aygıtlarınızı algılamayacak ve klayve/fare'niz için xorg.conf'daki yapılandırmayı kullanmaya devam edeceksiniz.

Farem SDL uygulamalar ve oyunlarda titreme yapıyor

Evdev ile SDL uygulamalarda DGA bozuluyor, fare titreme yapıyor, kendiliğinden sağa sola hareket ediyor. Bunu düzeltmek için bir değişken ayarlamalısınız (!)

  export SDL_VIDEO_X11_DGAMOUSE=0

Ya da şu satırları xorg.conf'a eklemelisiniz


  Section "Module"
      ...
      SubSection  "extmod"
        Option    "omit xfree86-dga"   # don't initialise the DGA extension
      EndSubSection
      ...
  EndSection

Örneğin Doom III için bu ayar mecburidir.

Fare Düğmelerinin komut çalıştırmasını nasıl sağlarım?

Bu özellik uygulamanın içinden (Firefox'daki Önceki/Sonraki gibi) veya Pencere Yöneticisinden gerçekleştirilmeli. Compiz gibi yapılandırılabilir pencere yöneticileri de fare tuşlarıyla komutlar verebilir. Fakat kötü olan şudur ki bu aygıt sayısına bağlı değil düğme sayısına bağlıdır. EvRouter gibi ilginç uygulamalar ile fare düğmelerine fonksiyonlar atayabilirsiniz. Yalnız çekirdek dizaynı, /dev/input/event0 aygıtının gereksiz yere kullanılmasına izin vermediği için, uygulama tam randımanlı çalışmayabilir.

Yön tuşları/Özel tuşlar çalışmıyor

Eğer Gnome kullanıyorsanız ve bu sayfadaki yönergeleri takip ettiyseniz (yani klavyeniz için evdev sürücüsünü kullanıyor iseniz) klavyenizdeki bazı özel tuşlarla ilgili sorun yaşayabilirsiniz. Sistem Menüsü altında Tercihler > Klavye altındaki “Klavye Modeli” kısmından “Evdev yönetimli klavye”yi seçiniz. Bu birçok sorununuzu halledecektir.

KDE'de de bu işlem benzerdir. Bölgesel & Dil Ayarları kısmından Klavye Düzeni altında “Klavye düzenlerini etkinleştir”i seçip “Klavye Modeli”nden “Evdev yönetimli klavye” seçeneğini seçiniz. Openbox'ta ok tuşları çalışmayacaktır. Bunun üstesinden gelmek için openbox'ı yeniden yapılandırın.

 openbox --reconfigure


Bu yazılımın kendisinden kaynaklanan bir hatadır(http://bugzilla.icculus.org/show_bug.cgi?id=3885). Umarız en kısa sürede düzeltilecek. XFCE4'te paneldeki “Klavye Düzenleri” programcığına sağ tıklayarak “Tercihler” den Klavye Düzeni olarak “evdev yönetimli klavye”yi seçebilirsiniz.

Touchpad'imin vuruş (tapping) ve kaydırma özellikleri artık çalışmıyor

X'i synaptic sürücüleri kullanmak üzere yapılandırdığınızı varsayarsak ona açık bir şekilde tapping işlevini etkinleştirmesini söylemelisiniz. Önceden buna gerek yoktu. Fakat bu - artık resmi olarak xorg destekli sürücü olan – synaptic sürücülerindeki bir değişiklik ve girdi aygıtları otomatik tanımayla doğrudan alakalı değil. Bu sebeple eğer otomatik tanımayı etkisizleştirirseniz xorg.conf'u düzenlemeniz gerekmektedir.Öte yandan eğer otomatik tanımayı kullanıyorsanız “/usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi” dosyasını “/etc/hal/fdi/policy/” klasörüne kopyalayıp düzenleyiniz. Çalışan bir yapılandırma için http://bbs.archlinux.org/viewtopic.php?pid=456689#p456689 adresine bakınız.

Doğru klavye düzenini nasıl elde edebilirim ve nasıl kalıcı yapabilirim?

"/usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi" dosyasını “/etc/hal/fdi/policy/” klasörüne kopyalayıp aşağıdaki gibi düzenleyiniz.

Klavye düzeninizi ayarlayınız (NEW_LAYOUT kısmını kendi klavye düzeninizle değiştiriniz):

<merge key="input.xkb.layout" type="string">NEW_LAYOUT</merge> Türkçe klavye için us değerini tr yapmanız yeterlidir. Aşağıdaki gibi bir satır ekleyerek farklı klavye düzenleri arasında geçiş yapabilirsiniz.

<merge key="input.xkb.options" type="string">grp:TOGGLE</merge>

TOGGLE kısmı; menu_toggle, alt_shift_toggle veya herhangi onaylanan başka bir değiştirme anahtarı olabilir.

Eğer önceden xorg.conf'unuzda aşağıdaki gibi bir satır bulunuyorsa (Option "XkbLayout" "<xkb_layout>"):

Section "InputDevice"
  Identifier  "keyboard"
  Driver      "kbd"
  ...
  Option         "XkbLayout" "<xkb_layout>"
EndSection

Uçbirimde şu komutla sınayınız:

setxkbmap <xkb_layout>


Xorg.conf'da önceden yapılandırılmış düzen için doğru çalışıp çalışmadığını anlamak için bazı harfler yazınız. Küçük bir öneri, kural (policy) dosyasını düzenlemek yerine ~/.xinitrc dosyanıza şu satırı ekleyin:

setxkbmap <xkb_layout>


Xinit'in X'i başlatacağını göze alırsak işe yarayacaktır.

Evdev Sürücüsünü kullandığımı nasıl denetlerim?

Öncelikle hal'ın evdev aygıtını bulduğundan emin olun. Komut satırına şunu yazabilirsiniz:

hal-device|grep -B 15 input.x11.driver

Klavye ve farenizin çıktıda olup olmadığına bakınız. Aşağıdaki gibi bir çıktı alacaksınız:

 50: udi = '/org/freedesktop/Hal/devices/usb_device_461_4d15_noserial_if0_logicaldev_input'
  linux.sysfs_path = '/sys/class/input/input1/event1'  (string)
  info.subsystem = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_461_4d15_noserial_if0'  (string)
  info.product = 'USB Optical Mouse'  (string)
  info.category = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_461_4d15_noserial_if0_logicaldev_input'  (string)
  info.capabilities = { 'input', 'input.mouse' } (string list)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  input.device = '/dev/input/event1'  (string)
  linux.device_file = '/dev/input/event1'  (string)
  input.product = 'USB Optical Mouse'  (string)
  input.x11_driver = 'evdev'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_461_4d15_noserial_if0'  (string)


Ayrıca evdev aygıt yapılandırması için “/var/log/Xorg.0.log” içinde “config/hal” satırını arayın.

(II) config/hal: Adding input device USB Optical Mouse
(**) USB Optical Mouse: always reports core events
(**) USB Optical Mouse: Device: "/dev/input/event1"
(II) USB Optical Mouse: Found x and y relative axes
(II) USB Optical Mouse: Found mouse buttons
(II) USB Optical Mouse: Configuring as mouse
(II) XINPUT: Adding extended input device "USB Optical Mouse" (type: MOUSE)
Personal tools