Asus L84F Spezifikationen

Stöbern Sie online oder laden Sie Spezifikationen nach Notebooks Asus L84F herunter. Asus L84F Specifications Benutzerhandbuch

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 110
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 0
Diploma Thesis
University of Applied Sciences Augsburg
Department of Computer Science
Input Abstraction Layer
Design and Implementation of an Extended Input Interface
Submitted by Timo onig, Winter Semester 2004/2005
Examiner: Prof. Dr. Hubert ogl
Examiner: Prof. Burkhard Stork
Supervisor: Dipl. Inf. (univ.) Stefan Behlert
The Diploma Thesis has been created in cooperation with SUSE Linux AG, Nuremberg.
Seitenansicht 0
1 2 3 4 5 6 ... 109 110

Inhaltsverzeichnis

Seite 1 - Input Abstraction Layer

Diploma ThesisUniversity of Applied Sciences AugsburgDepartment of Computer ScienceInput Abstraction LayerDesign and Implementation of an Extended Inp

Seite 2 - Diploma Thesis

CHAPTER 1. AN INTRODUCTION TO LINUX INPUT 3Recent laptops offer various features like dynamic CPU frequency and adjustment of screenbrightness to save

Seite 3

ABBREVIATIONS 93HIDPHuman Interface Device ProtocolIPCInterprocess CommunicationL2CAPLogical Link Control and Adaptation ProtocolLCDLiquid Crystal Dis

Seite 4

GlossaryAdvanced Configuration and Power InterfaceThe Advanced Configuration and Power Interface (ACPI) specification is an open in-dustry standard devel

Seite 5 - Contents

GLOSSARY 95HotplugHotplug lets you plug in new devices and use them immediately. That means that userswon’t need to learn so much system administratio

Seite 6

BibliographyPrint Publications[CSF04] Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato. VersionControl with Subversion. O’Reilly. June 200

Seite 7

BIBLIOGRAPHY 97Online Ressources[Acp04] Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation,Phoenix Technologies Ltd., Toshiba Corpo

Seite 8 - Chapter 1

BIBLIOGRAPHY 98[Ros04] Lawrence E. Rosen. The Academic Free License v. 2.1. Mai 2004. (Availablefrom http://www.rosenlaw.com/afl21.htm)[Sig04] Bluetoo

Seite 9

INDEX 99IndexAACPI . . . . . . . . . . . . . . . . . . . . . . . . 11 – 14, 52 f, 94buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 10 - 1.2 Objective

INDEX 100Panasonic Hotkey Driver (ACPI) . . 14, 81Sony Programmable I/O . . . . . . . . . . . . . 14 fToshiba (ACPI) . . . . . . . . . . . . . . . . .

Seite 11

INDEX 101Gnome Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67GNU Autotools . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seite 12 - Drivers and Interfaces

INDEX 102keycode . . . . . . . . . . . . . . . . . . . . . see keycodescancode . . . . . . . . . . . . . . . . . . . see scancodeSun Type 4 . . . . .

Seite 13

CHAPTER 1. AN INTRODUCTION TO LINUX INPUT 4Throughout the text the notation term(n ) indicates that a reference manual is available forterm. The value

Seite 14 - 2.2 Keyboard Device Drivers

INDEX 103Sourceforge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66statistical calculations. . . . . . . . . . . . . . . . . . . . .

Seite 15 - 2.3 USB Input Device Drivers

Chapter 2Drivers and InterfacesThis chapter discusses the available input device drivers and their user space interfaces. Severalparts of the Linux ke

Seite 16

CHAPTER 2. DRIVERS AND INTERFACES 6Input DeviceInput DeviceInput DeviceInput DeviceDevice DriverDevice DriverDevice DriverInput CoreEvent HandlerEvent

Seite 17 - 2.5 Event Interface

CHAPTER 2. DRIVERS AND INTERFACES 7event to the input core, are named input event. Once an input device driver has reportedan event by calling input e

Seite 18

CHAPTER 2. DRIVERS AND INTERFACES 8events. The input events carry the scancodes, the event handler keyboard.c translates thescancodes to their corresp

Seite 19 - Button Driver

CHAPTER 2. DRIVERS AND INTERFACES 9USB HC USB HCI USB HIDInput CoreUSB HID InputUSB DeviceUSB DeviceUSB DeviceUSB DeviceUSB Device DriverUSB Device Dr

Seite 20 - Subsystem Overview

CHAPTER 2. DRIVERS AND INTERFACES 10Bluetooth devices (“BT Devices”) are connected to a Bluetooth host controller (“BT HC”)which is attached to the sy

Seite 21 - 2.7 Other Interfaces

CHAPTER 2. DRIVERS AND INTERFACES 11To enable the event interface the Linux kernel has to be compiled with INPUT EVDEV=y orINPUT EVDEV=m. The driver e

Seite 22

CHAPTER 2. DRIVERS AND INTERFACES 12reading from the ACPI event interface, the bus driver generates the actual ACPI event. AnACPI event has the follow

Seite 23 - Requirements Specification

Diploma ThesisUniversity of Applied Sciences AugsburgDepartment of Computer ScienceI affirm that the diploma thesis is my own work and has never been us

Seite 24 - Specific Event Interfaces

CHAPTER 2. DRIVERS AND INTERFACES 13Input Event DriversDrivers which are using the ACPI bus driver to report input events are the Asus/Medion ACPIdriv

Seite 25 - Output Interface

CHAPTER 2. DRIVERS AND INTERFACES 14ACPI EventDriverACPI BusDriverPower ButtonSleep ButtonLid SwitchOther InputProc FilesystemACPI Button Driver/proc/

Seite 26 - 3.2 Functional Requirements

CHAPTER 2. DRIVERS AND INTERFACES 15set to 0x80, the value of data depends on which hotkey is pressed. E.g. the hotkey combinationFn-F4 creates the fo

Seite 27 - 3.5 Security Attributes

Chapter 3Requirements SpecificationThe requirements specification is the basis upon which the design and architecture, as wellas the implementation of t

Seite 28 - Design and Architecture

CHAPTER 3. REQUIREMENTS SPECIFICATION 17Driver/Interface name: Event InterfaceUser space interface: /dev/input/eventn (minor 13, major 64+n)Data type:

Seite 29 - 4.2 Daemon

CHAPTER 3. REQUIREMENTS SPECIFICATION 18User space interface: /dev/i8k (minor 10, major 144)Driver/Interface name: Dell SMM DriverData type: stringPer

Seite 30

CHAPTER 3. REQUIREMENTS SPECIFICATION 193.2 Functional RequirementsThe functional requirements are derived from the current problems regarding user in

Seite 31 - 4.3 Modular Input Interface

CHAPTER 3. REQUIREMENTS SPECIFICATION 203.3 Performance RequirementsAs mentioned in the introduction of this chapter, the Input Abstraction Layer is a

Seite 32 - 4.4 Abstract Output Interface

Chapter 4Design and ArchitectureThis chapter describes the Input Abstraction Layer’s design and architecture. It connects therequirements specification

Seite 33

CHAPTER 4. DESIGN AND ARCHITECTURE 22User Action Input DeviceHardware EventSoftware Eventa)b)c)Driver User Interface ApplicationUser Action Input Devi

Seite 34 - Implementation

Input Abstraction LayerTimo H¨onig

Seite 35 - 5.1 Common Data Structures

CHAPTER 4. DESIGN AND ARCHITECTURE 23AllowOverride and Order are options for the directive Directory with their correspondingvalues.<Directory &quo

Seite 36 - 5.2 Library

CHAPTER 4. DESIGN AND ARCHITECTURE 24First, the configuration file is parsed and the included options are set. Secondly, thecommand line arguments are e

Seite 37 - Programming Interface

CHAPTER 4. DESIGN AND ARCHITECTURE 25Figure 4.3 shows the modular input interface. Incoming input events are shown as dottedarrows on the left of the

Seite 38

CHAPTER 4. DESIGN AND ARCHITECTURE 26the project lead. This emphasizes the will of implementing an independent IPC framework,that does not displease a

Seite 39

Chapter 5ImplementationThis chapter describes the implementation of the Input Abstraction Layer in detail. The actualprocess of the implementation was

Seite 40 - Logging System

CHAPTER 5. IMPLEMENTATION 28The subsequent sections of this chapter separately discuss the implementation of the threecomponents. Important attributes

Seite 41

CHAPTER 5. IMPLEMENTATION 29Modules use the structure IalEvent in conjunction with a wrapper function to reportabstract input events. The library libi

Seite 42 - 5.3 Modules

CHAPTER 5. IMPLEMENTATION 30the first purposed hole in the deny policy: it allows all processes to connect to the systembus. Further, the D-BUS daemon

Seite 43 - Data Structure

CHAPTER 5. IMPLEMENTATION 31/* Check whether D-BUS connection is already established. */if (dbus_connection == NULL) {/* Connect to the D-BUS system m

Seite 44 - Input Events

CHAPTER 5. IMPLEMENTATION 32dbus message new signal() creates a new DBusMessage of type SIGNAL and returns a pointerto the created structure. The argu

Seite 45 - 5.4 Daemon

c° 2004, 2005 Timo H¨onigAll rights reserved.Timo H¨onig, Johannes-Haag-Straße 2, D-86153 Augsburg08 07 06 05 04 6 5 4 3 2First edition: 15. December

Seite 46 - Module Loader

CHAPTER 5. IMPLEMENTATION 33void event_callback(DBusConnection *connection, DBusMessage *dbus_message,void *user_data){/* Create abstract input event.

Seite 47

CHAPTER 5. IMPLEMENTATION 34org) which is released under the terms of the Academic Free License version 2.0. The loggingsystem is implemented by libia

Seite 48

CHAPTER 5. IMPLEMENTATION 35The do {...} while(0) loop is run once and encapsulates the invocation of log setup()and log output(). Without this encaps

Seite 49 - Configuration File Parser

CHAPTER 5. IMPLEMENTATION 36Data StructureBoth data structures ModuleData and ModuleOption are declared in libial mod.h. Thestructure ModuleData is sl

Seite 50 - Command Line Interface

CHAPTER 5. IMPLEMENTATION 37ModuleOption mod_options[] = {{"disable", "false", "disable=(true|false)"},{"verbose&qu

Seite 51

CHAPTER 5. IMPLEMENTATION 38When an input event occurs, the module reports this event by creating an abstract inputevent IalEvent followed by a call t

Seite 52

CHAPTER 5. IMPLEMENTATION 39Each stage is realized by a specific component of the Input Abstraction Layer daemon.Functions for the first and fifth stage

Seite 53

CHAPTER 5. IMPLEMENTATION 40pass all checks performed by the module loader’s functions to be accepted as a valid InputAbstraction Layer module.mod_sca

Seite 54 - Module Invocation

CHAPTER 5. IMPLEMENTATION 41be subsequently invoked, since function references the module’s function mod get data().Once called, it returns the requir

Seite 55 - Event Loop

CHAPTER 5. IMPLEMENTATION 42Configuration File ParserThe Input Abstraction Layer’s daemon configuration is stored in /etc/ial/iald.conf. It isformatted

Seite 56 - 5.5 Event Interface Module

ContentsContents i1 An Introduction to Linux Input 11.1 Current State of Input Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Obje

Seite 57

CHAPTER 5. IMPLEMENTATION 43module = module_list_head;/* Iterate all modules, start at the list head. */while(module) {if(node.token == module.token)

Seite 58

CHAPTER 5. IMPLEMENTATION 44additional arguments, e.g. program -d 3 (program --debug 3) with 3 being the argumentfor the command line option -d (--deb

Seite 59 - 5.6 ACPI Module

CHAPTER 5. IMPLEMENTATION 45These functions are responsible for evaluating the supplied configuration options. The InputAbstraction Layer’s most imp or

Seite 60

CHAPTER 5. IMPLEMENTATION 46The string mod options consists of one or more strings with the format mod option. Thefunction opt modules opts() parses t

Seite 61 - 5.7 Toshiba Module

CHAPTER 5. IMPLEMENTATION 47which is requested for creation. No additional flags are passed since the third argument isset to 0. If the D-BUS daemon is

Seite 62

CHAPTER 5. IMPLEMENTATION 48Event LoopThe start up of the daemon is completed by entering the main event loop. This event loopis implemented by the GL

Seite 63 - Requirements Verification

CHAPTER 5. IMPLEMENTATION 49which should be observed. The second argument states the conditions that have to be metto trigger an event. In the example

Seite 64 - 6.2 Performance

CHAPTER 5. IMPLEMENTATION 50gap by reporting all input events of keyboards—whether there is a translation available for akey’s scancode or not. The so

Seite 65 - EXPORT_SYMBOL(event_jiffies);

CHAPTER 5. IMPLEMENTATION 51– Generate an abstract input event– Send the abstract input eventReading data from the event interface returns a structure

Seite 66

CHAPTER 5. IMPLEMENTATION 52Once the data structure is filled, the module sends the abstract input event by callingthe library’s function event send().

Seite 67 - / ms

CONTENTS ii4 Design and Architecture 214.1 Event Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Daemon . . . .

Seite 68

CHAPTER 5. IMPLEMENTATION 53default the module is enabled. Further, the loading function initializes the user space interfaceof the ACPI subsystem if

Seite 69 - 6.3 Quality and Security

CHAPTER 5. IMPLEMENTATION 54The member raw is not available for ACPI events since they have no numeric representation.Hence, the value of raw is set t

Seite 70 - Methodology

CHAPTER 5. IMPLEMENTATION 55is similar to the translation of a scancode value to its corresponding description. The valuesfor the function events rece

Seite 71 - 7.1 Licenses

Chapter 6Requirements VerificationThis chapter compares the achieved goals with the requirements specification defined in Chap-ter 3. First, the verificat

Seite 72 - 7.2 Tools and Services

CHAPTER 6. REQUIREMENTS VERIFICATION 576.2 PerformanceThe performance requirements specify that the Input Abstraction Layer should only use areasonabl

Seite 73 - 7.3 Collaborative Environment

CHAPTER 6. REQUIREMENTS VERIFICATION 58Figure 6.1 gives an overview of the time needed by an input event to reach a user spaceapplication. The user ac

Seite 74

CHAPTER 6. REQUIREMENTS VERIFICATION 59The variable event jiffies of type unsigned long is initialized with a zero. To makethe variable accessible to

Seite 75 - Conclusion

CHAPTER 6. REQUIREMENTS VERIFICATION 60open("/proc/ial_event_received", O_RDONLY);This system call causes iallatency to store the current ji

Seite 76 - 8.2 Future Work

CHAPTER 6. REQUIREMENTS VERIFICATION 61The second test series was performed measuring the time intervals for ACPI buttons.Figure 6.3 shows the results

Seite 77 - Software

CHAPTER 6. REQUIREMENTS VERIFICATION 62limit of ttotal= 25ms is not exceeded, the measurement series’ maximum of t2under highsystem load is used:ttota

Seite 78 - A.4 Survey

CONTENTS 1B Survey: Current State of Linux Input Devices 72B.1 Announcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Seite 79 - Input Devices

Chapter 7Open Source DevelopmentMethodologyThe Input Abstraction Layer is entirely built upon Free and Open Source Software (FOSS).On the one hand, it

Seite 80 - B.2 General

CHAPTER 7. OPEN SOURCE DEVELOPMENT METHODOLOGY 647.1 LicensesAll FOSS projects are released under the terms of a FOSS license. Both the free softwarem

Seite 81 - Kernel Compiled by Hand

CHAPTER 7. OPEN SOURCE DEVELOPMENT METHODOLOGY 65This is the actual citation of Paragraph 10 of the Academic Free License. This clause shouldprevent a

Seite 82 - Keyboard Type

CHAPTER 7. OPEN SOURCE DEVELOPMENT METHODOLOGY 66A software project always needs a decent documentation—for both end users and develop-ers. The Input

Seite 83 - Multimedia Keyboard

CHAPTER 7. OPEN SOURCE DEVELOPMENT METHODOLOGY 67– Freshmeat, http://www.freshmeat.net– Gnome Files, http://www.gnomefiles.org–KDE Apps,http://www.kde

Seite 84 - B.4 Laptop Systems

Chapter 8ConclusionThe creation of the Input Abstraction Layer helps GNU/Linux to fulfill the users’ claim foran operating system that just works. Due

Seite 85 - B.5 Demand of Features

CHAPTER 8. CONCLUSION 69Beside the study of source code, it was essential to spot the edge conditions the resultingprogram will run in. These edge con

Seite 86 - Change Volume

Appendix AUtilized Free and Open SourceSoftwareThe diploma thesis has been accomplished using free and open source software exclusively. Thischapter c

Seite 87 - Appendix C

APPENDIX A. UTILIZED FREE AND OPEN SOURCE SOFTWARE 71A.3 Statistical CalculationsBoth the survey (Appendix B) and the latency measurements (Chapter 6,

Seite 88 - C.7 Panasonic ACPI Driver

Appendix BSurvey: Current State of LinuxInput DevicesThe survey “Current State of Linux Input Devices” has b een completed by 305 participants.The dur

Seite 89 - C.8 Toshiba ACPI Driver

Chapter 1An Introduction to Linux InputThe Linux kernel offers drivers for a vast number of different input devices—drivers for key-boards, mice, joysti

Seite 90 - Source Code

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 73SVN: http://svn.berlios.de/viewcvs/ial/This e-mail was sent to the following mailing lists:

Seite 91 - D.2 Input Abstraction Layer

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 74Question 3 (single choice, mandatory): Where do you use Linux?Field of Application0.00% 20.

Seite 92 - D.3 Latency Kernel Driver

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 75Question 7 (multiple choice, mandatory): Which window manager(s) do you prefer?0.00% 20.00%

Seite 93

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 76B.3 Desktop SystemsQuestions asked in this section are about keyboards used on desktop syst

Seite 94 - Copyright

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 77B.4 Laptop SystemsQuestions asked in this section are about built-in keyboards used on mobi

Seite 95 - E.2 Legal Code

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 78B.5 Demand of FeaturesQuestions asked in this section are about features demanded by the pa

Seite 96 - APPENDIX E. COPYRIGHT 89

APPENDIX B. SURVEY: CURRENT STATE OF LINUX INPUT DEVICES 79Question 19 (single choice, optional): Would you like to be able to change the screenbright

Seite 97 - APPENDIX E. COPYRIGHT 90

Appendix CLinux Function Key Support forLaptopsChapter 2 discusses several Linux input device driver for mobile computers. The subsequentlists contain

Seite 98 - APPENDIX E. COPYRIGHT 91

APPENDIX C. LINUX FUNCTION KEY SUPPORT FOR LAPTOPS 81– Latitude C400, C510, C600, C610, C800, C810, C840, CPiA, CPx J750GT, D600, D800and X200C.4 Hewl

Seite 99 - Abbreviations

APPENDIX C. LINUX FUNCTION KEY SUPPORT FOR LAPTOPS 82C.8 Toshiba ACPI Driver– Toshiba Libretto L5W– Toshiba Portege 2000, 2010, 3440CT, 4000, 7020CT a

Seite 100

CHAPTER 1. AN INTRODUCTION TO LINUX INPUT 21.1 Current State of Input DevicesThe answers to the questions regarding desktop keyboards (Appendix B, §B.

Seite 101 - Glossary

Appendix DSource CodeThe printed edition the diploma thesis is supplemented by a CD-ROM. This CD-ROM containsthe source code of the Linux kernel versi

Seite 102

APPENDIX D. SOURCE CODE 84CD-ROM:Linux 2.6.9 (unpacked, unmodified):/linux/linux-2.6.9Linux 2.6.9 (unpacked, with IAL Latency patch):/linux/linux-2.6.9

Seite 103 - Bibliography

APPENDIX D. SOURCE CODE 85If the source code is obtained using Subversion, it is required to run ./autogen.sh priorto ./configure. The last command ma

Seite 104 - Online Ressources

APPENDIX D. SOURCE CODE 86The kernel has to be recompiled with the configuration option INPUT IALLATENCY eitherset to y (compile static) or m (compile

Seite 105

Appendix ECopyrightCopyrightc° 2004, 2005 Timo H¨onigAll rights reserved.The diploma thesis is licensed under the Creative Commons Attribution License

Seite 106

APPENDIX E. COPYRIGHT 88E.2 Legal CodeCreative Commons – Legal Code Attribution 2.0CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PRO-VID

Seite 107

APPENDIX E. COPYRIGHT 892. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arisingfrom fair use, first sa

Seite 108

APPENDIX E. COPYRIGHT 90b. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or anyDerivative Works or Col

Seite 109

APPENDIX E. COPYRIGHT 91by the parties to this agreement, such provision shall be reformed to the minimum extent necessaryto make such provision valid

Seite 110

AbbreviationsACPIAdvanced Configuration and Power InterfaceAFLAcademic Free LicenseAGPLAffero General Public LicenseCLICommand Line InterfaceCRTCathode

Kommentare zu diesen Handbüchern

Keine Kommentare