Re: [Neo] XKB und die Ebene 4

2009-08-02 Diskussionsfäden wettstein509
> Das Gleiche passiert bei mir, wenn xkbcomp den monolitischen Treiber von
> Andreas kompiliert. Auch da werden die „interpret“-Anweisungen einfach
> ausgelassen.

Ich habe das jetzt auch mit einer OpenSolaris 2009.6/x86 LiveCD gesehen:
ein .xkb-File wird mit xkbcomp auf den Server geladen, die Belegung wird
weitgehend übernommen, aber die Änderungen in «xkb_compartibiliy» nicht.
Allerdings betrifft das nicht nur «Redirect»-Actions und exotische
keycodes, sondern zum Beispiel auch «SetMods» und «ISO_Level3_Shift».

Andreas



Re: [Neo] XKB und die Ebene 4

2009-07-04 Diskussionsfäden Stephan Hilb
> Dabei wird zwar z.B. 0x110AE04 zu U0010AE04 umgeschrieben, aber der
> Funktion tut das keinen Abbruch.

Dann mache ich irgendetwas falsch. Werde mich damit nochmal intensiver
auseinandersetzen.
Trotzdem Danke für deine Bemühungen, es unter Ubuntu zu testen!

Gruß, Stephan


signature.asc
Description: PGP signature


Re: [Neo] XKB und die Ebene 4

2009-07-03 Diskussionsfäden wettstein509
> Das Gleiche passiert bei mir, wenn xkbcomp den monolitischen Treiber von
> Andreas kompiliert. Auch da werden die „interpret“-Anweisungen einfach
> ausgelassen.

Ich habe den monolithischen Treiber jetzt auch mit Ubuntu 9.04/amd64
(live von der CD) erfolgreich ausprobiert (mit der kleinen Anpassung für
evdev gemäß dem Kommentar am Anfang des Treibers).  Insbesondere bleiben
die interpret-Anweisungen erhalten wenn man die xkbmap auf den Server
läd:

  xkbcomp neo_ch_de_us.xkb :0

und sich dann wieder vom Server holt:

  xkbcomp :0 -

Dabei wird zwar z.B. 0x110AE04 zu U0010AE04 umgeschrieben, aber der
Funktion tut das keinen Abbruch.

Andreas



Re: [Neo] XKB und die Ebene 4

2009-06-27 Diskussionsfäden wettstein509
> Das Gleiche passiert bei mir, wenn xkbcomp den monolitischen Treiber von
> Andreas kompiliert. Auch da werden die „interpret“-Anweisungen einfach
> ausgelassen.

Was machst du beim kompilieren?  Mit xkbcomp von .xkb nach .xkm (und zum
anschauen zurück) wandeln?  Bei mir verschwinden dabei die
interpret-Anweisungen nicht; weder auf einem aktuellen NetBSD/i386 (mit
XOrg 1.6.2RC1) noch auf IRIX 6.5.22.

Kann man den Auslöser des Problems eingrenzen?  Funktionert ein anderer
Unicode-Bereich, funktioniert es mit anderen actions?

Andreas







Re: [Neo] XKB und die Ebene 4

2009-06-27 Diskussionsfäden Stephan Hilb
Am Wed, 24 Jun 2009 13:16:07 +0200
schrieb Stephan Hilb:

> Ich werde mich gleich an die Arbeit machen und es mit dem offiziellen
> Treiber testen.

Meine Versuche haben bisher leider noch keine Früchte getragen. Die
„interpret“-Anweisung wird von xkbcomp einfach ausgelassen (beim
Exportieren ins xkb-Format taucht die Anweisung nicht mehr auf).

Das Gleiche passiert bei mir, wenn xkbcomp den monolitischen Treiber von
Andreas kompiliert. Auch da werden die „interpret“-Anweisungen einfach
ausgelassen.

Die Folge ist natürlich, dass statt der Aktion das jeweilige
Unicode-Zeichen (bzw. sein Platzhalter) ausgegeben wird.


Gruß, Stephan


signature.asc
Description: PGP signature


Re: [Neo] XKB und die Ebene 4

2009-06-24 Diskussionsfäden wettstein509
> Würde es nicht auf das Selbe hinauslaufen, wenn statt 0x110AB04 der
> Keysym „Return“ verwendet wird und auch dieser dann in xkb_compat
> interpretiert wird?

Da gibt es zwei Probleme: Zum einen bemerken manche Programme (die die
Xt-Library verwenden, z.B. xdm) die keysym auf der 4. Ebene und
behandeln die Taste insgesamt als Returntaste, und dann funktionieren
die anderen Ebenen nicht mehr.  Zum anderen sollte man lieber keine
Endloschleife keysym Return → Taste  → keysym Return → …
provozieren; ich bin nicht sicher, dass XKB sie bemerkt und abbricht.

> PS: Soweit Wikipedia Recht behält
> ( http://de.wikipedia.org/wiki/Liste_der_Unicode-Bl%C3%B6cke ), belegt
> Unicode nur 0x0 bis 0x10, wobei die Private Use Area von F bis
> 10 reicht. Wäre 0x110AB04 dann nicht außerhalb der Range?

Die keysym ist 0x100+Unicodewert.  Man kann 0x110AB04 auch als
U10AB04 schreiben (siehe http://www.x.org/wiki/KeySyms).

Andreas



Re: [Neo] XKB und die Ebene 4

2009-06-24 Diskussionsfäden Stephan Hilb
Hallo,

> In xkb_compatibility gibt es Regeln der Form:
> 
> interpret 0x110AB04 {
>   action= Redirect(key=, clearMods=Mod2+Mod4);
> };
> 
> und dazu passend in xkb_symbols
> 
> key  {
>   type= "NEO_A",
>   symbols[Group1]= [   p,
> P,  asciitilde,   0x110AB04,
> Greek_pi,Greek_PI,   0x110AB04 ],

Würde es nicht auf das Selbe hinauslaufen, wenn statt 0x110AB04 der
Keysym „Return“ verwendet wird und auch dieser dann in xkb_compat
interpretiert wird?
Wenn ich mich recht entsinne, überschreibt eine „interpret“-Anweisung
die ursprüngliche Bedeutung des Keysyms.

Ansonsten finde ich die Idee sehr gut.
Ich werde mich gleich an die Arbeit machen und es mit dem offiziellen
Treiber testen.

Gruß, Stephan


PS: Soweit Wikipedia Recht behält
( http://de.wikipedia.org/wiki/Liste_der_Unicode-Bl%C3%B6cke ), belegt
Unicode nur 0x0 bis 0x10, wobei die Private Use Area von F bis
10 reicht. Wäre 0x110AB04 dann nicht außerhalb der Range?


signature.asc
Description: PGP signature


[Neo] XKB und die Ebene 4

2009-06-23 Diskussionsfäden wettstein509
Liebe XKB-Neotiker,

wie euch wohlbekannt ist gibt es mit mit den Steuertasten (im geringerem
Maße auch mit dem Zahlenblock) auf Ebene 4 mit diversen Programmen
(z.B. xterm) Schwierigkeiten.  Ich habe in meinem monolithischen
XKB-Treiber¹ einen Weg ausprobiert, der viele Probleme umgeht:

In xkb_compatibility gibt es Regeln der Form:

interpret 0x110AB04 {
action= Redirect(key=, clearMods=Mod2+Mod4);
};

und dazu passend in xkb_symbols

key  {
type= "NEO_A",
symbols[Group1]= [   p,   P,  asciitilde,   
0x110AB04,Greek_pi,Greek_PI,   0x110AB04 ],

und so weiter.  0x110AB04 ist ein willkürlicher Wert aus einem privaten
Unicode-Bereich.  Anwendungen bekommen diesen Wert nie zu Gesicht.  Wird
Ebene 4 von p gedrückt wird das Event Server-seitig umgebogen, so dass
es Anwendungen vorkommt, als wäre die echte Returntaste (ohne Mod4 und
ohne Mod4-Lock) gedrückt worden.

Analoge Änderungen habe ich für alle Steuerzeichen und KP_-codes auf
Ebene 4 gemacht.  Bis auf drei Fälle kann man immer auf eine reale Taste
umleiten; die Ausnahmen sind die Symbole KP_Decimal, Tab und Undo.  Für
die drei habe ich Pseudo-Tasten eingeführt (also Tasten mit keycodes die
vom Hardwareteiber nie generiert werden) die dann genauso wie die realen
behandelt werden.

Ich glaube, man könnte dieses Schema auch im offiziellen XKB-Treiber
benutzen, natürlich mit einigen Anpassungen (Mod4 wird LevelFive, Mod2
wird NumLock, die Ebenen sind den Levels anders zugeordnet).

Andreas

¹ http://wettstae.home.solnet.ch/neo_ch_de_us.xkb.gz