Πρόβλημα με backquote σε Slackware 12.0

Αλέξανδρος Διαμαντίδης adia at hellug.gr
Tue Oct 30 22:36:40 EET 2007


* costas at freemail.gr [2007-10-29 23:35]:
> Επομένως απομένει το δεύτερο υποερώτημα: 
> τί πλήκτρο πρέπει να πατηθεί για να πάρουμε το σωστό χαρακτήρα;

Το σωστό ερώτημα είναι πώς θα κάνεις το πλήκτρο που πατάς να βγάζει το
σωστό χαρακτήρα! Δεν υπάρχει λόγος να ψάχνεις για άλλο πλήκτρο.

> Δεν είναι πολυτονικό, ώστε να προκύπτει "φυσικά" η βαρεία!
> Γιατί προκύπτει όμως;
> 
>         Option       "XkbLayout"  "us(intl),gr(extended)"

Η απάντηση είναι εδώ: σβήσε το intl...

         Option       "XkbLayout"  "us,gr(extended)"

... και θα δουλέψει σωστά. Αυτό που φταίει είναι ότι στη διάταξη
us(intl), το πλήκτρο του backquote δεν είναι κανονικό πλήκτρο, αλλά
νεκρό πλήκτρο για να βάζεις βαρείες, όπως δουλεύει το πλήκτρο του τόνου
στα ελληνικά. Αυτό είναι χρήσιμο για να γράφεις τονισμένους λατινικούς
χαρακτήες (àèìòù), αλλά όταν έχεις ελληνικό locale συνδυάζεται με το
αρχείο el_GR.UTF-8/Compose που ανέφερε και η Βίβια, το οποίο λέει:

<dead_grave> <space>      : "`"  U1fef
<dead_grave> <dead_grave> : "`"  U1fef

Με άλλα λόγια, πατάς το "`" και δεν εμφανίζεται τίποτα, γιατί το πλήκτρο
έβγαλε το σύμβολο dead_grave και όχι το grave που αντιστοιχεί στο
χαρακτήρα "`". Στο σημείο αυτό περιμένει τι θα πατήσεις μετά. Αν
πατήσεις άλλη μια φορά το ίδιο πλήκτρο ή το space, εμφανίζεται η
ελληνική βαρεία που λέγαμε...

Οι παραπάνω γραμμές του el_GR.UTF-8/Compose έχουν μια κάποια λογική αλλά
τελικά μάλλον προβλήματα δημιουργούν - θα στείλω αναφορά σφάλματος να
τις αλλάξουν ώστε να βγάζουν το απλό backquote. Υπάρχει μια άποψη
μάλιστα ότι δε δικαιολογείται ξεχωριστό el_GR.UTF-8/Compose, θα έπρεπε
ανεξάρτητα με το locale να ισχύει το ίδιο Compose για λόγους
ομοιομορφίας και αποφυγής εκπλήξεων.

> Είμαι περίεργος να μάθω αν κάτι παρόμοιο υπάρχει και σε άλλα linux ή
> ακόμα και σε xBSD! Δυστυχώς εγώ τα μόνα μηχανάκια όπου τρέχω linux και 

Δεν το είχα ξανασυναντήσει ποτέ (γιατί δεν είχα επιλέξει ποτέ US
international keyboard) αλλά λογικά παντού θα έχει την ίδια συμπεριφορά.

* Vivia Nikolaidou [2007-10-29 23:49]:
> Είχε ξαναπεράσει παλιότερα από τη λίστα: δοκίμασες να κάνεις overwrite το
> /usr/share/X11/locale/yourlocale/Compose με το
> /usr/share/X11/locale/en_US.UTF-8/Compose ? Το ίδιο πρόβλημα έχω σε

Δε χρειάζεται να κάνεις overwrite το Compose της διανομής, μπορείς απλώς
να φτιάξεις στο home directory ένα αρχείο με όνομα .XCompose που να
λέει:

include "/usr/share/X11/locale/en_US.UTF-8/Compose"

Έτσι θα ανοίγει το συγκεκριμένο αρχείο άσχετα με το τρέχον locale, και
δε θα χρειάζεται να ξανακάνεις το ίδιο πράγμα κάθε φορά που
αναβαθμίζεται το πακέτο που περιέχει το αρχείο αυτό.

Αλέξανδρος




More information about the Linux-greek-users mailing list