- Updated: November 27, 2025
- 8 min read
Linux Giriş Aygıtları: Derinlemesine İnceleme ve En Son Gelişmeler
Linux giriş aygıtları, donanım sinyallerini çekirdekten kullanıcı alanına taşıyan bir katman yığınıdır; bu yığın sysfs, udev, HID/evdev, libinput ve XKB gibi bileşenleri içerir.
1. Başlık ve Giriş
Linux tabanlı sistemlerde klavye, fare, dokunmatik ekran ve oyun kontrolcüsü gibi giriş aygıtları, işletim sisteminin en temel etkileşim noktalarındandır. Bu aygıtların nasıl tanındığını, hangi veri yolları üzerinden çekirdeğe iletildiğini ve son kullanıcı uygulamalarına nasıl sunulduğunu anlamak, sistem yöneticileri ve geliştiriciler için kritik bir beceridir. Bu makalede, Linux giriş aygıtları konusunu MECE (Mutually Exclusive, Collectively Exhaustive) prensibiyle bölerek, her bir katmanı ayrı ayrı ele alacağız.
İçerik, aşağıdaki bölümlerden oluşur:
- Linux Giriş Aygıtları Genel Bakış
- Çekirdek Giriş Çekirdeği ve Cihaz Hiyerarşisi
- sysfs ve udev Yapılandırması
- HID ve evdev Protokolleri
- libinput ve XKB Entegrasyonu
- Dokunmatik ve İşaretçi Aygıtları
- Sanal Giriş Aygıtları ve Otomasyon
- Sonuç ve Kaynak Bağlantıları
Bu rehber, orijinal haber makalesi temel alınarak hazırlanmıştır ve UBOS ekosistemiyle ilgili UBOS homepage üzerinden sunulan AI çözümlerine de referanslar içerir.

2. Linux Giriş Aygıtları Genel Bakış
Linux, tüm giriş aygıtlarını tek bir input alt sistemi altında birleştirir. Bu sistem, evdev (event device) aracılığıyla kullanıcı alanına standart bir /dev/input/eventX arayüzü sunar. Aygıt tipine göre farklı evdev sınıfları (klavye, fare, dokunmatik) oluşturulur.
Temel aygıt kategorileri şunlardır:
- Klavye:
EV_KEYtipinde tuş olayları üretir. - Fare ve Touchpad:
EV_REL(relatif hareket) veEV_ABS(mutlak konum) olayları üretir. - Dokunmatik ekran: Çoklu dokunuş (MT) desteğiyle
ABS_MT_*kodlarını kullanır. - Oyun kontrolcüleri: Joystick ve gamepad olayları
EV_ABSveEV_KEYkombinasyonlarıyla iletilir.
Bu aygıtların hepsi, Linux input devices sayfasında listelenen standart sürücülerle desteklenir.
3. Çekirdek Giriş Çekirdeği ve Cihaz Hiyerarşisi
Linux çekirdeği, drivers/input/input.c dosyasında tanımlı input core adlı bir altyapı sunar. Bu altyapı, donanım sürücülerinin (ör. usbhid, atkbd) ürettiği ham olayları alır, input_event() fonksiyonu ile işleyerek evdev katmanına iletir.
Her bir aygıt, struct input_dev içinde tanımlanır ve input_register_device() ile sisteme kaydedilir. Kayıt sırasında:
- Ayıgıtın
bustype,vendor,productgibi kimlik bilgileri belirlenir. - Desteklenen olay tipleri (
EV_KEY,EV_REL,EV_ABS)evbitiçinde işaretlenir. - Udev ve sysfs üzerinden
/dev/input/eventXkarakter aygıtı oluşturulur.
Bu hiyerarşi, Linux drivers sayfasında detaylı bir ağaç yapısı olarak gösterilir; örneğin bir USB fare pci0000:00 → usb → hid → input zinciriyle temsil edilir.
4. sysfs ve udev Yapılandırması
Linux, çekirdek nesnelerini sysfs sanal dosya sistemi aracılığıyla kullanıcıya sunar. /sys/class/input/ altında her inputX dizini, aygıtın özelliklerini (isim, fiziksel yol, yetenekler) içerir. Örneğin:
/sys/class/input/input6/name → "Logitech USB Keyboard"
/sys/class/input/input6/capabilities/ev → 0x1f
Bu bilgiler, udev tarafından yakalanarak dinamik kurallar uygulanır. Udev kuralları, aygıtın ATTRS{...} ve ENV{...} değerlerine göre symlink, MODE, OWNER gibi özellikleri ayarlar.
Örneğin, bir klavyenin Caps Lock tuşunu devre dışı bırakmak için aşağıdaki kural kullanılabilir:
ACTION=="add", SUBSYSTEM=="input", ATTRS{id/vendor}=="1a2c", ATTRS{id/product}=="6004", ENV{ID_INPUT_KEYBOARD}=="1", RUN+="/usr/bin/setxkbmap -option ctrl:nocaps"
UBOS ekosistemi, UBOS partner program kapsamında udev kurallarını otomatik olarak dağıtarak kurumsal ortamlarda tutarlı aygıt yönetimi sağlar.
5. HID ve evdev Protokolleri
Çoğu modern giriş aygıtı HID (Human Interface Device) protokolünü kullanır. HID, aygıtın yeteneklerini (buton sayısı, eksenler, rapor tanımları) bir Report Descriptor içinde tanımlar. Linux usbhid sürücüsü bu descriptor’ı okur, ardından hid-generic aracılığıyla evdev formatına çevirir.
HID raporları, örnek bir klavye için şu şekilde görünebilir:
05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01 75 01 95 08 81 02 C0
Bu ikili veri, tuşların (ör. KEY_A) ve modifier’ların (Shift, Ctrl) nasıl kodlandığını belirtir. evdev ise bu bilgiyi /dev/input/eventX üzerinden struct input_event (zaman damgası, tip, kod, değer) olarak sunar.
UBOS platformunda Telegram integration on UBOS gibi hizmetler, HID tabanlı klavye girdilerini doğrudan bot komutlarına dönüştürerek otomasyon sağlar.
6. libinput ve XKB Entegrasyonu
Modern masaüstü ortamları (GNOME, KDE, Wayland compositors) libinput kütüphanesini kullanır. libinput, udev üzerinden aygıtları algılar, udev kurallarına göre LIBINPUT_DEVICE_GROUP oluşturur ve aşağıdaki işlevleri gerçekleştirir:
- Dokunmatik yüzeylerde çoklu dokunuş takibi (
ABS_MT_SLOT,ABS_MT_TRACKING_ID). - Dokunmatik ve işaretçi hızlandırma profilleri (flat, adaptive, custom).
- Dokunmatik yüzeylerde palm detection ve disable while typing gibi akıllı özellikler.
libinput, klavye girdileri için XKB (X Keyboard Extension) ile entegrasyon sağlar. XKB, evdev kodlarını keysym’e çevirir ve Compose gibi karmaşık giriş senaryolarını yönetir.
UBOS, AI marketing agents aracılığıyla XKB tabanlı klavye kısayollarını otomatik olarak yapılandırabilir; örneğin “Ctrl+Alt+M” tuş kombinasyonu bir pazarlama kampanyasını tetikler.
7. Dokunmatik ve İşaretçi Aygıtları
Dokunmatik ekranlar ve touchpad’ler, ABS_X, ABS_Y ve ABS_PRESSURE gibi mutlak eksenler üzerinden veri gönderir. libinput, bu eksenleri aşağıdaki gibi normalleştirir:
- Çözünürlük (Resolution):
EVDEV_ABS_ABS_X=0:1024:42gibi değerler, fiziksel mm cinsinden ölçülür. - Parmak Takibi (MT): Her parmak bir slot ve tracking ID alır; bu sayede çoklu dokunuş aynı anda işlenebilir.
- Kaydırma (Scrolling): İki parmak kaydırma, kenar kaydırma ve buton‑tutma kaydırma gibi farklı yöntemler libinput tarafından otomatik algılanır.
UBOS UBOS templates for quick start içinde “Touchpad Optimizer” şablonu, libinput’in Accel Speed ve Tapping Enabled ayarlarını tek komutla yapılandırır.
8. Sanal Giriş Aygıtları ve Otomasyon
Linux, uinput ve uhid modülleri sayesinde sanal giriş aygıtları oluşturabilir. Bu sanal aygıtlar, otomasyon, test ve uzaktan masaüstü senaryolarında kullanılır.
Örnek bir uinput kullanım senaryosu:
#include <linux/uinput.h>
int fd = open("/dev/uinput", O_WRONLY|O_NONBLOCK);
ioctl(fd, UI_SET_EVBIT, EV_KEY);
ioctl(fd, UI_SET_KEYBIT, KEY_SPACE);
struct uinput_setup usetup = { .id = { .bustype = BUS_USB, .vendor = 0x1234, .product = 0x5678 }, .name = "UBOS Virtual Keyboard" };
ioctl(fd, UI_DEV_SETUP, &usetup);
ioctl(fd, UI_DEV_CREATE);
...
Bu kod, bir “Space” tuşu gönderen sanal klavye yaratır; test otomasyonları ve CI/CD pipeline’ları için idealdir.
UBOS, Workflow automation studio ile GPT-Powered Telegram Bot (GPT-Powered Telegram Bot) gibi sanal aygıtları birleştirerek, örneğin bir Telegram mesajı geldiğinde otomatik olarak bir klavye kısayolu tetiklenebilir.
9. Sonuç ve Kaynak Bağlantıları
Linux giriş aygıtları yığını, donanım‑yazılım entegrasyonunun en kritik parçalarından biridir. Çekirdek input core → sysfs/udev → evdev → libinput → XKB akışı, her seviyede özelleştirilebilir ve güvenli bir şekilde yönetilebilir. Bu yapı, modern AI‑destekli platformların (ör. Enterprise AI platform by UBOS) gerçek‑zamanlı veri toplama ve otomasyon senaryoları için sağlam bir temel sunar.
Aşağıda, bu makalede bahsedilen konulara dair ek kaynaklar ve UBOS ürün sayfaları yer almaktadır:
- About UBOS
- UBOS platform overview
- UBOS for startups
- UBOS solutions for SMBs
- UBOS pricing plans
- UBOS portfolio examples
- ChatGPT and Telegram integration
- OpenAI ChatGPT integration
- Chroma DB integration
- ElevenLabs AI voice integration
- AI SEO Analyzer
- AI Article Copywriter
- AI Video Generator
- AI Image Generator
- AI Chatbot template
- AI Voice Assistant
- AI-Powered Essay Outline Generator
- AI Recipe Creator
- AI Survey Generator
- AI YouTube Comment Analysis tool
- AI Audio Transcription and Analysis
- AI-Powered VR Fitness Idea Generator
- AI App with Text-to-Command
- Keywords Extraction with ChatGPT
- Calculate Time Complexity with ChatGPT
- Factual Answering AI with ChatGPT API
- Grammar Correction AI
- Summarize for a 2nd Grader
- AI Language Model Tutorial Chatbot
- JavaScript Helper AI Chatbot
- Movie to Emoji AI Application
- Sarcastic AI Chat Bot
- Unstructured Data AI Parser
- Product Name Generator AI
- Python Bug Fixer AI
- Airport Code Extractor
- Custom Interview Questions with AI
- Create Study Notes with AI
- AI Restaurant Review App
- AI for Turn-by-Turn Directions
- AI Chat App with ChatGPT API
- AI-Powered Essay Outline Generator
- AI-Powered VR Fitness Idea Generator
- AI App with Text-to-Command
- Calculate Time Complexity with ChatGPT
- Keywords Extraction with ChatGPT
- AI Voice Assistant
- Extract Contact Information AI
- AI File Manager
- GPT-Powered Telegram Bot
- Video AI Chat Bot
- Pharmacy Admin Panel
- Help Me Write AI
- Text-to-Speech Google AI
- AI Email Marketing
Linux giriş aygıtlarıyla ilgili daha derinlemesine sorularınız varsa, UBOS destek sayfası üzerinden bize ulaşabilirsiniz.