summaryrefslogtreecommitdiffstats
path: root/kmilo/delli8k
diff options
context:
space:
mode:
Diffstat (limited to 'kmilo/delli8k')
-rw-r--r--kmilo/delli8k/Makefile.am36
-rw-r--r--kmilo/delli8k/README98
-rw-r--r--kmilo/delli8k/delli8k.cpp256
-rw-r--r--kmilo/delli8k/delli8k.h89
-rw-r--r--kmilo/delli8k/i8k.h46
-rw-r--r--kmilo/delli8k/kmilo_delli8k.desktop96
6 files changed, 621 insertions, 0 deletions
diff --git a/kmilo/delli8k/Makefile.am b/kmilo/delli8k/Makefile.am
new file mode 100644
index 0000000..8b495c2
--- /dev/null
+++ b/kmilo/delli8k/Makefile.am
@@ -0,0 +1,36 @@
+# This file is part of the KDE project
+# Copyright (C) 2003 George Staikos <staikos@kde.org>
+# Copyright (C) 2004 Barry O'Donovan <barry.odonovan@kdemail.net>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public License
+# along with this library; see the file COPYING.LIB. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+INCLUDES=-I$(srcdir)/../kmilod $(all_includes)
+
+kde_module_LTLIBRARIES = kmilo_delli8k.la
+
+kmilo_delli8k_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
+kmilo_delli8k_la_LIBADD = ../kmilod/libkmilo.la $(LIB_KIO)
+kmilo_delli8k_la_SOURCES = delli8k.cpp
+METASOURCES = AUTO
+
+noinst_HEADERS = delli8k.h
+
+services_DATA = kmilo_delli8k.desktop
+servicesdir = $(kde_servicesdir)/kmilo
+
+messages:
+ $(XGETTEXT) $(kmilo_delli8k_la_SOURCES) -o $(podir)/kmilo_delli8k.pot
+
diff --git a/kmilo/delli8k/README b/kmilo/delli8k/README
new file mode 100644
index 0000000..80ae5b0
--- /dev/null
+++ b/kmilo/delli8k/README
@@ -0,0 +1,98 @@
+Dell Laptop Buttons Plug-in for KMilo
+
+Barry O'Donovan mail@barryodonovan.com, November 2004
+http://www.barryodonovan.com/
+
+KMilo is a service for kded, the KDE daemon. KMilo is new to KDE 3.2.
+It allows plug-ins which interact with the special buttons found on
+some keyboards and laptops.
+
+This plug-in reads the /proc/i8k file that is created by the i8k kernel
+module. If this file does not exist then the plug-in will not load.
+
+The code in this module is heavily based on:
+ - the Asus Laptop plug-in for KMilo by Chris Howells (howells@kde.org)
+ - the Thinkpad plug-in by Jonathan Riddell (jr@jriddell.org)
+
+Also, for the Dell specific implementations, code was taken from the
+i8kutils package of Massimo Dal Zotto <dz@debian.org> which can be
+downloaded from http://www.debian.org/~dz/i8k/
+
+LICENSE:
+
+ delli8k - KMilo plug-in for special volume keys of Dell laptops
+ Copyright (C) 2004 Barry O'Donovan <barry.odonovan@kdemail.net>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+COMPATIBILITY:
+
+This plug-in should work on any Linux distribution that has the i8k module
+loaded or compiled into the kernel. Compatibility is really dependant on
+the i8kutils package of Massimo Dal Zotto <dz@debian.org> which can be
+downloaded from http://www.debian.org/~dz/i8k/. Currently (20041122), this
+should support:
+
+ Inspiron 1100 (BIOS A06), one fan, no buttons
+ Inspiron 2650 (BIOS A05)
+ Inspiron 3700 (BIOS A15), no fan speed
+ Inspiron 3800 (BIOS A14), no fan speed
+ Inspiron 4000 (BIOS A10), no fan speed
+ Inspiron 4100
+ Inspiron 4150
+ Inspiron 5100 (BIOS A06), one fan, no buttons
+ Inspiron 5150 (BIOS A24), one fan, no buttons
+ Inspiron 8000 (BIOS A17)
+ Inspiron 8100 (BIOS A04)
+ Inspiron 8200 (BIOS A06)
+ Latitude C400 (BIOS A01)
+ Latitude C510 (BIOS A07)
+ Latitude C600 (BIOS A17)
+ Latitude C610
+ Latitude C800 (BIOS A17)
+ Latitude C810 (BIOS A12)
+ Latitude C840 (BIOS A10)
+ Latitude CPiA (BIOS A14), no fan speed
+ Latitude CPx J750GT (BIOS A13), no fan speed
+ Latitude D600 (BIOS A05)
+ Latitude D800 (BIOS A00)
+ Latitude X200 (BIOS A07)
+
+That driver seems *NOT WORKING* on the following models:
+
+ Inspiron 2500 (BIOS A10)
+ Inspiron 3200
+ Inspiron 3500
+ Inspiron 5000e (BIOS A06)
+ Inspiron 5150 (BIOS A23)
+ Inspiron 7000
+ Inspiron 7500
+ Latitude CPx H450GT
+ Latitude LS H500ST
+
+HISTORY:
+
+22 November 2004 - Initial release
+
+TODO:
+
+KCM Module
+ - set volume step size
+ - set dcop mixer device
+ - allow use of special keys
+ (this may require the user to set up key codes under X)
+
+
diff --git a/kmilo/delli8k/delli8k.cpp b/kmilo/delli8k/delli8k.cpp
new file mode 100644
index 0000000..74c0d60
--- /dev/null
+++ b/kmilo/delli8k/delli8k.cpp
@@ -0,0 +1,256 @@
+/*
+ This file is part of the KDE project
+
+ Copyright (c) 2004 Barry O'Donovan (barry.odonovan@kdemail.net)
+
+ The code in this module is heavily based on:
+ - the Asus Laptop plug-in for KMilo
+ Copyright (c) 2004 Chris Howells (howells@kde.org)
+ - the Thinkpad plug-in
+ Copyright (c) 2004 Jonathan Riddell (jr@jriddell.org)
+ - the i8k kernel module and utilities (http://www.debian.org/~dz/i8k/)
+ Copyright (c) 2001-2003 Massimo Dal Zotto <dz@debian.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#include <kgenericfactory.h>
+
+#include "kmilointerface.h"
+
+#include <fcntl.h>
+#include <sys/ioctl.h>
+
+#include "i8k.h"
+
+/* For compatibilty with i8k kernel driver 1.1 */
+#define I8K_VOL_MUTE_1_1 3
+
+#include "delli8k.h"
+
+namespace KMilo
+{
+
+DellI8kMonitor::DellI8kMonitor( QObject* parent, const char* name, const QStringList& args )
+ : Monitor( parent, name, args )
+{
+}
+
+DellI8kMonitor::~DellI8kMonitor()
+{
+}
+
+bool DellI8kMonitor::init()
+{
+ kdDebug() << "KMilo: loading Dell I8k KMilo plugin" << endl;
+
+ // Ensure the Dell I8k kernel module is installed/loaded
+ if( ( m_fd = open( I8K_PROC, O_RDONLY ) ) < 0 )
+ {
+ kdDebug() << "KMilo: DellI8kMonitor: unable to open i8k proc file: " << I8K_PROC
+ << " in init()" << endl;
+ return false;
+ }
+ else
+ {
+ kmixClient = new DCOPRef( "kmix", "Mixer0" );
+ kmixWindow = new DCOPRef( "kmix", "kmix-mainwindow#1" );
+ retrieveVolume();
+ retrieveMute();
+ }
+
+ return true;
+}
+
+Monitor::DisplayType DellI8kMonitor::poll()
+{
+ Monitor::DisplayType pollResult = None;
+
+ if( ( m_status = fn_status( m_fd ) ) < 0 )
+ {
+ kdDebug() << "KMilo: DellI8kMonitor: unable to read fn status in poll()" << endl;
+ return pollResult;
+ }
+ else
+ {
+ switch( m_status )
+ {
+ case I8K_VOL_UP:
+ pollResult = Volume;
+ retrieveVolume();
+ setVolume( m_volume + DELLI8K_VOLUME_STEPSIZE );
+ m_progress = m_volume;
+ break;
+ case I8K_VOL_DOWN:
+ pollResult = Volume;
+ retrieveVolume();
+ setVolume( m_volume - DELLI8K_VOLUME_STEPSIZE );
+ m_progress = m_volume;
+ break;
+ case I8K_VOL_MUTE:
+ case I8K_VOL_MUTE_1_1:
+ pollResult = None;
+ retrieveMute();
+ setMute( !m_mute );
+ if( m_mute )
+ _interface->displayText( i18n( "Mute On" ) );
+ else
+ _interface->displayText( i18n( "Mute Off" ) );
+ break;
+ case 0:
+ break;
+ default:
+ kdDebug() << "KMile: DellI8kMonitor: invalid button status: " << m_status
+ << " in poll()" << endl;
+ break;
+ }
+ }
+
+ return pollResult;
+}
+
+int DellI8kMonitor::progress() const
+{
+ return m_progress;
+}
+
+bool DellI8kMonitor::retrieveVolume()
+{
+ bool kmix_error = false;
+
+ DCOPReply reply = kmixClient->call( "masterVolume");
+
+ if( reply.isValid() )
+ {
+ m_volume = reply;
+ }
+ else
+ {
+ kmix_error = true;
+ }
+
+ if (kmix_error)
+ {
+ // maybe the error occurred because kmix wasn't running
+ if( kapp->startServiceByDesktopName( "kmix" ) == 0 ) // trying to start kmix
+ {
+ // trying again
+ reply = kmixClient->call( "masterVolume");
+ if( reply.isValid() )
+ {
+ m_volume = reply;
+ kmix_error = false;
+ kmixWindow->send( "hide" );
+ }
+ }
+ }
+
+ if (kmix_error)
+ {
+ kdError() << "KMilo: DellI8kMonitor could not access kmix/Mixer0 via dcop" << endl;
+ return false;
+ }
+
+ return true;
+}
+
+void DellI8kMonitor::setVolume(int volume)
+{
+ if( !retrieveVolume() )
+ {
+ return;
+ }
+
+ if( volume > 100 )
+ {
+ m_volume = 100;
+ }
+ else if( volume < 0 )
+ {
+ m_volume = 0;
+ }
+ else
+ {
+ m_volume = volume;
+ }
+
+ kmixClient->send("setMasterVolume", m_volume);
+
+ m_progress = m_volume;
+}
+
+bool DellI8kMonitor::retrieveMute()
+{
+ bool kmix_error = false;
+
+ DCOPReply reply = kmixClient->call( "masterMute" );
+
+ if( reply.isValid() )
+ {
+ m_mute = reply;
+ }
+ else
+ {
+ kmix_error = true;
+ }
+
+ if (kmix_error)
+ {
+ // maybe the error occurred because kmix wasn't running
+ if( kapp->startServiceByDesktopName( "kmix" ) == 0 ) // trying to start kmix
+ {
+ // trying again
+ reply = kmixClient->call( "masterVolume" );
+ if( reply.isValid() )
+ {
+ m_volume = reply;
+ kmix_error = false;
+ kmixWindow->send( "hide" );
+ }
+ }
+ }
+
+ if (kmix_error)
+ {
+ kdError() << "KMilo: DellI8kMonitor could not access kmix/Mixer0 via dcop in isMute()" << endl;
+ return false;
+ }
+
+ return true;
+}
+
+void DellI8kMonitor::setMute( bool b )
+{
+ m_mute = b;
+ kmixClient->send( "setMasterMute", m_mute );
+}
+
+int DellI8kMonitor::fn_status( int fd )
+{
+ int args[1];
+ int rc;
+
+ if( ( rc = ioctl( fd, I8K_FN_STATUS, &args ) ) < 0 )
+ {
+ kdError() << "KMilo: DellI8kMonitor: ioctl failed in fn_status()" << endl;
+ return rc;
+ }
+
+ return args[0];
+}
+
+} //close namespace
+
+K_EXPORT_COMPONENT_FACTORY( kmilo_delli8k, KGenericFactory<KMilo::DellI8kMonitor>( "kmilo_delli8k" ) )
diff --git a/kmilo/delli8k/delli8k.h b/kmilo/delli8k/delli8k.h
new file mode 100644
index 0000000..d33f6ff
--- /dev/null
+++ b/kmilo/delli8k/delli8k.h
@@ -0,0 +1,89 @@
+/*
+ This file is part of the KDE project
+
+ Copyright (c) 2004 Barry O'Donovan <barry.odonovan@kdemail.net>
+
+ The code in this module is heavily based on:
+ - the Asus Laptop plug-in for KMilo
+ Copyright (c) 2004 Chris Howells (howells@kde.org)
+ - the Thinkpad plug-in
+ Copyright (c) 2004 Jonathan Riddell (jr@jriddell.org)
+ - the i8k kernel module and utilities (http://www.debian.org/~dz/i8k/)
+ Copyright (c) 2001-2003 Massimo Dal Zotto <dz@debian.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef DELLI8K_H
+#define DELLI8K_H
+
+#include <kapplication.h>
+#include <dcopref.h>
+
+#include "monitor.h"
+
+#define DELLI8K_VOLUME_STEPSIZE 5
+
+namespace KMilo {
+
+
+/**
+ * KMilo plugin for Dell Laptops (conforming to the i8k driver)
+ */
+class DellI8kMonitor: public Monitor
+{
+ public:
+ DellI8kMonitor( QObject *parent, const char *name, const QStringList& );
+ virtual ~DellI8kMonitor();
+
+ /**
+ * Reimplemented from KMilo::Monitor.
+ * Loads configuration.
+ */
+ virtual bool init();
+
+ /**
+ * Reimplemented from KMilo::Monitor.
+ * Called by KMilo, this checks the /proc file system and acts on any changes
+ */
+ virtual DisplayType poll();
+
+ /**
+ * Reimplemented from KMilo::Monitor.
+ * Called by KMilo if poll() returns a volume change.
+ * Returns the new volume percentage.
+ */
+ virtual int progress() const;
+
+ private:
+
+ void setVolume( int volume );
+ void setMute( bool b );
+ DCOPRef *kmixClient;
+ DCOPRef *kmixWindow;
+ bool retrieveVolume();
+ bool retrieveMute();
+ int m_status, m_volume;
+ bool m_mute;
+
+ int m_progress;
+ int m_fd;
+
+ int fn_status( int fd );
+};
+
+} //close namespace
+
+#endif
diff --git a/kmilo/delli8k/i8k.h b/kmilo/delli8k/i8k.h
new file mode 100644
index 0000000..1c45ba5
--- /dev/null
+++ b/kmilo/delli8k/i8k.h
@@ -0,0 +1,46 @@
+/*
+ * i8k.h -- Linux driver for accessing the SMM BIOS on Dell laptops
+ *
+ * Copyright (C) 2001 Massimo Dal Zotto <dz@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef _LINUX_I8K_H
+#define _LINUX_I8K_H
+
+#define I8K_PROC "/proc/i8k"
+#define I8K_PROC_FMT "1.0"
+
+#define I8K_BIOS_VERSION _IOR ('i', 0x80, int) /* broken: meant 4 bytes */
+#define I8K_MACHINE_ID _IOR ('i', 0x81, int) /* broken: meant 16 bytes */
+#define I8K_POWER_STATUS _IOR ('i', 0x82, size_t)
+#define I8K_FN_STATUS _IOR ('i', 0x83, size_t)
+#define I8K_GET_TEMP _IOR ('i', 0x84, size_t)
+#define I8K_GET_SPEED _IOWR('i', 0x85, size_t)
+#define I8K_GET_FAN _IOWR('i', 0x86, size_t)
+#define I8K_SET_FAN _IOWR('i', 0x87, size_t)
+
+#define I8K_FAN_LEFT 1
+#define I8K_FAN_RIGHT 0
+#define I8K_FAN_OFF 0
+#define I8K_FAN_LOW 1
+#define I8K_FAN_HIGH 2
+#define I8K_FAN_MAX I8K_FAN_HIGH
+
+#define I8K_VOL_UP 1
+#define I8K_VOL_DOWN 2
+#define I8K_VOL_MUTE 4
+
+#define I8K_AC 1
+#define I8K_BATTERY 0
+
+#endif
diff --git a/kmilo/delli8k/kmilo_delli8k.desktop b/kmilo/delli8k/kmilo_delli8k.desktop
new file mode 100644
index 0000000..4dd7c97
--- /dev/null
+++ b/kmilo/delli8k/kmilo_delli8k.desktop
@@ -0,0 +1,96 @@
+[Desktop Entry]
+Type=Service
+ServiceTypes=KMilo Plugin
+X-KDE-ModuleType=Plugin
+Name=Dell I8k Laptop Plugin
+Name[ar]=ملحق حاسوب Dell I8k المحمول
+Name[br]=Lugent hezoug Dell I8k
+Name[bs]=Dodatak za Dell I8k laptope
+Name[ca]=Connector per portàtils Dell I8k
+Name[cs]=Dell I8k Laptop modul
+Name[da]=Dell I8k bærbar plugin
+Name[de]=Dell I8k Notebook-Plugin
+Name[el]=Πρόσθετο φορητού Dell I8k
+Name[es]=Extensión para el portátil Dell I8k
+Name[et]=Dell I8k sülearvuti plugin
+Name[eu]=Dell I8k Laptop Plugina
+Name[fa]=Dell I8k وصلۀ رایانۀ کیفی
+Name[fi]=Dell I8k -kannettavan liitännäinen
+Name[fr]=Module externe pour les Dell I8k
+Name[ga]=Breiseán Ríomhaire Glúine Dell I8k
+Name[he]=תוסף למחשבי ברכיים בעלי Dell l8k
+Name[hu]=Dell I8k modul
+Name[is]=Dell I8k ferðatölvuíforrit
+Name[it]=Plugin portatili Dell I8k
+Name[ja]=Dell I8k ラップトップ プラグイン
+Name[ka]=Dell I8k ლეპტოპის მოდული
+Name[kk]=Dell I8k ноутбуктің модулі
+Name[km]=កម្មវិធី​ជំនួយកុំព្យូទ័រ​យួរដៃ Dell I8k
+Name[lt]=Dell I8k Laptop priedas
+Name[nb]=Dell I8k Laptop tillegg
+Name[nds]=Dell I8k-Klappreeknermoduul
+Name[ne]=डेल I8k ल्यापटप प्लगइन
+Name[nl]=Dell i8000 Laptop-plugin
+Name[nn]=Programtillegg for Dell I8K-bærbare
+Name[pa]=Dell I8k ਲੈਪਟਾਪ ਪਲੱਗਿੰਨ
+Name[pl]=Wtyczka laptopa Dell I8k
+Name[pt]='Plugin' para Portáteis Dell I8k
+Name[pt_BR]=Plugin para Laptops Dell I8k
+Name[ru]=Ноутбук Dell I8k
+Name[sk]=Modul pre Dell l8k laptop
+Name[sl]=Vstavek za prenosnik Dell I8k
+Name[sr]=Прикључак за Dell-ове I8k лаптопе
+Name[sr@Latn]=Priključak za Dell-ove I8k laptope
+Name[sv]=Insticksprogram för Dell I8k bärbar dator
+Name[ta]=டெல் 18கே மடிக்கணினி சொருகுப்பொருள்
+Name[tr]=Dell I8k Laptop Eklentisi
+Name[uk]=Втулок лептопа Dell I8k
+Name[uz]=Dell I8k laptopi uchun plagin
+Name[uz@cyrillic]=Dell I8k лаптопи учун плагин
+Name[zh_CN]=Dell I8k 笔记本插件
+Name[zh_TW]=Dell I8k 筆記型電腦外掛程式
+Comment=Enables support for special Dell laptop keys
+Comment[ar]=تمكّن الدعم لمفاتيح حاسوب Dell المحمول الخاصة
+Comment[bg]=Тази приставка позволява поддръжката на специалните клавиши на Dell
+Comment[bs]=Omogućuje podršku za posebne tipke na Dell laptopima
+Comment[ca]=Habilita el funcionament per a tecles especials dels portàtils Dell
+Comment[cs]=Umožňuje podporu speciálních kláves laptopů Dell
+Comment[da]=Aktiverer støtte for specielle Dell bærbares taster
+Comment[de]=Dieses Plugin aktiviert die Unterstützung für Sondertasten bei Dell-Notebook-Tastaturen
+Comment[el]=Ενεργοποιεί την υποστήριξη για ειδικά πλήκτρα φορητού Dell
+Comment[es]=Activa el soporte de las teclas especiales del portátil Dell
+Comment[et]=Võimaldab kasutada Delli sülearvuti eriklahve
+Comment[eu]=Dell eramangarrien tekla berezientzako euskarria gaitzen du
+Comment[fa]=فعال‌سازی پشتیبانی برای کلیدهای ویژۀ رایانۀ کیفیDell
+Comment[fi]=Tämä liitännäinen mahdollistaa erikoisnäppäinten tuen Dellin kannettaville tietokoneille.
+Comment[fr]=Ce module active la gestion des touches spéciales des ordinateurs portables Dell
+Comment[ga]=Tacaigh le heochracha speisialta ar ríomhairí glúine Dell
+Comment[he]=מוסיף תמיכה בשביל מקשים מיוחדים של Dell
+Comment[hu]=Ez a bővítőmodul lehetővé teszi a Dell noteszgépek speciális billentyűinek használatát
+Comment[is]=Virkjar stuðning fyrir sérhnappa Dell ferðavéla
+Comment[it]=Abilita il supporto per i tasti speciali dei portatili Dell
+Comment[ja]=Dell ラップトップの特殊キーをサポートします
+Comment[ka]=რთავს Dell-ის ლეპტოპის სპეციალური კლავიშების მხარდაჭერას
+Comment[kk]=Dell ноутбуктің арнаулы пернелерін қолдауы
+Comment[km]=បើក​ការគាំទ្រ​សម្រាប់គ្រាប់ចុច​កុំព្យូទ័រ​យួរដៃ Dell
+Comment[lt]=Įgalina specialų Dell nešiojamo kompiuterio raktų palaikymą
+Comment[nb]=Muliggjør støtte for spesielle taster på Dell bærbare maskiner
+Comment[nds]=Maakt de Sünnertasten-Ünnerstütten för Dell-Klappreekners an
+Comment[ne]=विशेष डेल ल्यापटप कुञ्जीका लागि समर्थन सक्षम पार्दछ
+Comment[nl]=Activeert de ondersteuning voor speciale Dell-laptop-toetsen
+Comment[nn]=Dette programtillegget gjer det mogleg å bruka spesialtastar på Dell-bærbare
+Comment[pl]=Włącza obsługę specjalnych klawiszy laptopa Dell
+Comment[pt]=Activa o suporte a teclas especiais dos portáteis Dell
+Comment[pt_BR]=Habilita suporte para teclas especiais nos laptops Dell
+Comment[ru]=Этот модуль поддерживает специальные клавиши ноутбука Dell
+Comment[sk]=Povoľuje podporu pre špeciálne klávesy Dell laptopu
+Comment[sl]=Omogoči podporo posebnim tipkam prenosnikov Dell
+Comment[sr]=Подршка за посебне тастере на Dell-овим лаптопима
+Comment[sr@Latn]=Podrška za posebne tastere na Dell-ovim laptopima
+Comment[sv]=Aktiverar stöd för speciella tangenter på Dell bärbar dator
+Comment[ta]=விசேஷ டெல் மடிக்கணினி விசைகளுக்கான ஆதரவை செயல்படுத்துகிறது
+Comment[tr]=Dell dizüstü bilgisayarların özel tuşları için desteği etkinleştirir
+Comment[uk]=Уможливлює підтримку спеціальних клавіш для лептопа Dell
+Comment[zh_CN]=此插件启用 Dell 笔记本的特殊按键
+Comment[zh_TW]=開啟 Dell 筆記型電腦特殊鍵支援
+X-KDE-Library=kmilo_delli8k