• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Cherry Linux-Tastatur

TheBigRed

Newbie
Hallo,

das ist mein erster Beitrag hier im Forum.

Ich habe eine 'Cherry CyMotion Master XPress' und möchte diese gerne
unter Fedora Core 6 mit keyman betreiben. Die Sourcen dazu habe ich bereits von http://support.cherry.de/download/keyman_src11.zip
geholt und versucht zu kompilieren.
Das ./configure Scrikt läuft durch, allerdings das make
kommt bis zu gsystray und bricht dann mit folgender Fehlermeldung ab:
Code:
Leaving  kkeymanconfig
Entering  gsystray ...
make  all-recursive
Making all in m4
make[3]: Nothing to be done for `all'.
g++ -DHAVE_CONFIG_H -I. -I. -I. . -I/usr/local/include  -g -O2   -I../server/include -DG_LOG_DOMAIN=\"gsystray\" -DGNOMELOCALEDIR=\""/usr/local/share/locale"\" -I../intl -I./intl -DKEYMAN_GLADEDIR=\""/usr/local/share/keyman/glade"\" -DICON_DIR=\""/usr/local/share/pixmaps"\" -DORBIT2=1 -pthread -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/gnome-keyring-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/libglade-2.0 -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6 -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/libglademm-2.4 -I/usr/lib/libglademm-2.4/include     -g -O2 -DDATADIR=\""/usr/local/share"\" -DPLUGINDIR=\""/usr/local/lib/keyman"\" -g -O2 -c main.cpp
main.cpp:69: error: extra qualification 'CMyMenu::' on member 'CMyMenu'
make[3]: *** [main.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive-am] Error 2
make: *** [all] Error 2

hat vielleicht jemand ein Idee was da nicht stimmt und im Source-Code geändert werden müsste ?
 

TheBigRed

Newbie
ok, ich habe mal mit der main.cpp etwas experimentiert, hoffe das passt so,
jedenfall läßt sich das Ganze dann auch mit gcc-4.1.1 kompilieren.

Code:
--- keyman2/gsystray/main.cpp.orig      2006-12-30 12:57:55.000000000 +0100
+++ keyman2/gsystray/main.cpp   2006-12-30 12:58:10.000000000 +0100
@@ -66,7 +66,7 @@
 class CMyMenu : public Gtk::Menu
 {
 public:
-       CMyMenu::CMyMenu(BaseObjectType* base_object, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml);
+       CMyMenu(BaseObjectType* base_object, const Glib::RefPtr<Gnome::Glade::Xml>& glade_xml);

        void configure_clicked();
        void quit_clicked();
 
Hallo zusammen!

Habe mich mit dem Cherry Support wegen Keyman für OpenSuse 10.2 in Verbindung gesetzt und folgende Antwort erhalten:

Eine neue KeyMan Version für Linux ist für das 3. Quartal 2007
angekündigt.
Hier wird der neue KeyMan dann erscheinen. Ein genaueres Datum kann ich
Ihnen heute noch nicht nennen.


Ich hoffe die Info beantwortet ein paar Fragen im Vorhinein!

MfG

Claus
 

durin

Member
wie läuft das eigentlich wenn man den keyman für das opensuse project freigibt? weiss das wer? würde er dann nicht gleich in den versionen richtig inegriert? der sourcecode ist ja schon frei.
was müsste man denn da tun?

lieber gruss
 

TheBigRed

Newbie
Hallo,

nun habe ich nach längerer Zeit mal wieder versucht die Sourcen von keyman und Fedora 7 zu kompilieren, jedoch schlägt es diesmal mit
folgender Fehlermeldung fehl.

Code:
Entering  src ...
  DEP     setkeymanscancode.cpp ...
  DEP     Arguments.cpp ...
  C++     Arguments.cpp ...
  C++     setkeymanscancode.cpp ...
setkeymanscancode.cpp: In function 'bool setKeyManScanCodeCable(int, int, int)':
setkeymanscancode.cpp:113: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:114: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:115: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:116: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:117: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp: In function 'bool setVistaScrolling(int, int, bool)':
setkeymanscancode.cpp:170: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:171: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:172: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:173: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:174: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp:181: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:189: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:190: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:191: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:192: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp:207: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:209: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:210: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:215: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:216: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:217: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:218: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:219: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp:226: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:227: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:228: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:229: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:230: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp:244: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:245: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:246: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:247: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:248: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp: In function 'bool setKeyManScanCodeRF(int, int, int)':
setkeymanscancode.cpp:309: error: 'struct usbdevfs_ctrltransfer' has no member named 'requesttype'
setkeymanscancode.cpp:310: error: 'struct usbdevfs_ctrltransfer' has no member named 'request'
setkeymanscancode.cpp:311: error: 'struct usbdevfs_ctrltransfer' has no member named 'value'
setkeymanscancode.cpp:312: error: 'struct usbdevfs_ctrltransfer' has no member named 'index'
setkeymanscancode.cpp:313: error: 'struct usbdevfs_ctrltransfer' has no member named 'length'
setkeymanscancode.cpp: In function 'void setscancode(std::string)':
setkeymanscancode.cpp:350: warning: ignoring return value of 'ssize_t read(int, void*, size_t)', declared with attribute warn_unused_result
make[2]: *** [.setkeymanscancode.o] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2

hat jeman einen Workaround.
 

TheBigRed

Newbie
ich konnte in der Zwischenzeit das Problem lösen durch ändern der
structure usbdevfs_ctrltransfer Definitionen.

Code:
%{__perl} -pi -e 's|#define REQUEST_TYPE requesttype|#define REQUEST_TYPE bRequestType|g' setkeymanscancode/src/setkeymanscancode.cpp
%{__perl} -pi -e 's|#define REQUEST      request|#define REQUEST      bRequest|g' setkeymanscancode/src/setkeymanscancode.cpp
%{__perl} -pi -e 's|#define VALUE        value|#define VALUE        wValue|g' setkeymanscancode/src/setkeymanscancode.cpp
%{__perl} -pi -e 's|#define INDEX        index|#define INDEX        wIndex|g' setkeymanscancode/src/setkeymanscancode.cpp
%{__perl} -pi -e 's|#define LENGTH       length|#define LENGTH       wLength|g' setkeymanscancode/src/setkeymanscancode.cpp
 

Bigtux

Member
Yehudi schrieb:
Probiere einfach das letzte rpm aus, welches es für die Tastatur gibt. Das sollte eigentlich funktionieren.

Ich hatte es versucht.
Da ich diesen Thread insbesondere wegen der Code-diskussion nicht verwässern wollte, machte ich einen neuen auf.

Die Installation der alten Keyman-rpm, die noch für 10.1 bestimmt war, scheitert an einer nicht erkannten lib.

http://www.linux-club.de/ftopic86006.html
 

ayCaramba

Newbie
Ich habe mir vor Kurzem auch die Cherry-CyMotion-Linux / XPress gekauft. (sind beide vom Bautyp identisch)

Habe nun auch das Problem, dass ich die KeyMan - Software unter Linux openSuSE 10.3 nicht installieren kann. Es werden die schon oft genannten Libs mit einer veralteten Version angefordert.

Komisch ist auch, dass es ein FAQ im Wiki hier gibt, wo gesagt wird, dass man mit der aktuellsten RPM von der Cherry Seite glücklich werden soll. (Diese habe ich übrigens auch ohne Erfolg ausprobiert.)

Was mit auch noch aufgefallen ist, dass unter "Yast->Hardware->Tastaturbelegung auswählen" eine Möglichkeit gibt, diese Tastatur dort als Geräte-Typ einzustellen.

Sowohl "Cherry CyMotion Master Linux" als auch "Cherry CyMotion Master XPress"...


Nachdem ich diesen Menüpunkt auf meine neue Hardware korrigiert habe, funktionieren die meisten Tasten. :)

http://sovietcars.lima-city.de/cherry_tastaturbelegung.png
 

Yehudi

Guru
Also bei mir läuft das rpm, was ich hier mal runtergeladen habe, auf der openSUSE 10.3. Keine ungelösten Abhängigkeiten oder so. Ich habe ein abgespecktes KDE mit Compiz Fusion am laufen. An Repros habe ich nur die über YaST per default vergbaren hinzugefügt.
 

Bigtux

Member
Yehudi schrieb:
Also bei mir läuft das rpm, was ich hier mal runtergeladen habe, auf der openSUSE 10.3. Keine ungelösten Abhängigkeiten oder so. Ich habe ein abgespecktes KDE mit Compiz Fusion am laufen. An Repros habe ich nur die über YaST per default vergbaren hinzugefügt.

Erstaunlich.
Ich habe Keyman direkt nach der openSUSE 10.3 Installation installieren wollen.
Ein "jungfräulicheres" System kann ich mir kaum denken.
Zu dem Zeitpunkt waren nur zwei Quellen in Yast eingetragen:
Die InstallationsDVD sowie Update.
Nach vergeblicher Installation habe ich alle anderen Quellen eingetragen, ohne Erfolg.
Ich erhalte immer folgende Meldung:

Das gilt für die auf der CD mitgelieferte Keyman-Version 1.0 (für Suse10.0) sowie die auf der Cherry-Seite downloadbare Version 1.1 für Suse 10.1.
Egal ob ich yast verwende, k-Package oder den rpm-Befehl,
Rien ne va plus :(
 

Yehudi

Guru
Ich hatte wie ich gerade sehe folgendes rpm genutzt:
Code:
keyman-0.6.0-2.i586.rpm

Das rpm
Code:
keyman-1.1.0-10.i586.rpm
funktioniert tatsächlich nicht.
 

Bigtux

Member
Yehudi schrieb:
Ich hatte wie ich gerade sehe folgendes rpm genutzt:
Code:
keyman-0.6.0-2.i586.rpm

Das rpm
Code:
keyman-1.1.0-10.i586.rpm
funktioniert tatsächlich nicht.

Leider finde ich auf der Cherry-Seite keine Version 0.6 :(
Ich bin gespannt ob es irgendwann einen neuen Treiber geben wird.
 

ayCaramba

Newbie
Habe gerade von warpi die RPM in der genannten funktionierenden Version "keyman-0.6.0.2.-i586.rpm" bekommen.

Er war so freundlich und hat es mir per Mail geschickt.

Downloaden könnt ihr es hier:

http://freenet-homepage.de/rusavto/keyman-0.6.0-2.i586.rpm

Habs erstmal für euch hochgeladen, solange es noch nicht im Wiki irgendwie integriert wurde.

PS: Ihr könnt mir ja ein kurzes Feedback geben, ob die Installation mit YaST erfolgreich gewesen ist.
 

guzziresi

Newbie
Servus,

erstmal herzlichen Dank für das Package :wink:

Hab dieses runtergeladen und installiert. Funktioniert recht gut!
Alle Tasten sind aber noch nicht durchtgetestet! :wink:
 

dma67

Hacker
ayCaramba schrieb:
Habe gerade von warpi die RPM in der genannten funktionierenden Version "keyman-0.6.0.2.-i586.rpm" bekommen.

Er war so freundlich und hat es mir per Mail geschickt.

Downloaden könnt ihr es hier:

http://freenet-homepage.de/rusavto/keyman-0.6.0-2.i586.rpm

Habs erstmal für euch hochgeladen, solange es noch nicht im Wiki irgendwie integriert wurde.

PS: Ihr könnt mir ja ein kurzes Feedback geben, ob die Installation mit YaST erfolgreich gewesen ist.

Hallo,
der Link ist tot.
Könnte mir jemand die Datei per eMail zukommen lassen?
Ich würde sie auf meinen Apache packen und zum download bereitstellen.
 

Gimpel

Guru
Braucht doch bei neuerem Xorg kein Mensch mehr.

Code:
$ grep cymotion /etc/X11/xorg.conf
	Option		"XkbModel"	"cymotionlinux"

Und die hotkeys kannste mit deinem WM belegen.
 

whois

Ultimate Guru
Hi Darius

Gimpel hat Recht sieh dir doch bitte auch mal folgenden Link an. :wink:
http://wiki.linux-club.de/opensuse/Cherry_Linux-Tastatur

cu
 
Oben