Το πρόβλημα αυτό είναι γνωστό από παλιά. Η μη διόρθωσή του (κατά τη δική μου γνώμη) οφείλεται στο ότι είστε μειοψηφία. Όπως αναφέρει και ο sotos21 παραπάνω, η πλειοψηφία χρησιμοποιεί το [shift] για να αλλάξει ένα γράμμα σε κεφαλαίο και όχι το Caps Lock. Δεδομένου ότι ο X server θα αντικατασταθεί από τον Wayland σε συνδυασμό με την χαμηλή προτεραιότητα του bug, δεν βλέπω να διορθώνεται.
Ωστόσο, κάποιοι προτείνουν μια λύση. Δοκίμασε την να μας πεις αν δουλεύει.
Άνοιξε ένα τερματικό και γράψε
- Κώδικας: Επιλογή όλων
nano my_xkbmap
στον κειμενογράφο που θα ανοίξει μέσα στο τερματικό κάνε αντιγραφή και επικόλληση τα παρακάτω.
-
Μορφοποιημένος Κώδικας: Επιλογή όλων
-
key <CAPS> {
repeat=no,
type[group1]="ALPHABETIC",
symbols[group1]=[ Caps_Lock, Caps_Lock ],
actions[group1]=[ LockMods(modifiers=Lock), Private(type=3,data[0]=1,data[1]=3,data[2]=3) ]
};
Αποθήκευσε το αρχείο πατώντας τον συνδυασμό Ctrl+O και μετά [Enter] και έπειτα βγες από τον nano με Ctrl+X.
Έπειτα εκτέλεσε στο τερματικό τις παρακάτω εντολές, μια-μια.
- Κώδικας: Επιλογή όλων
xkbcomp -xkb $DISPLAY my_xkbmap
xkbcomp my_xkbmap $DISPLAY
Θα πάρεις κάποια warnings, αλλά αγνόησέ τα.
Δοκίμασε πάλι το Caps Lock. Δουλεύει τώρα όπως θέλεις; (χωρίς το delay δηλαδή).
Αν ναι,
μπορείς να αποθηκεύσεις τις παραπάνω δυο εντολές σε ένα script που θα τοποθετηθεί στις startup applications (για να μην τις εκτελείς χειροκίνητα κάθε φορά που εκκινεί ο X server, αλλά να γίνεται αυτόματα).
Για startup application script.
Εκτελείς σε τερματικό
- Κώδικας: Επιλογή όλων
mkdir bin
nano bin/caps_nodelay.sh
μετά. copy-paste μέσα τα παρακάτω
- Κώδικας: Επιλογή όλων
#!/bin/bash
sleep 5
xkbcomp -xkb $DISPLAY my_xkbmap
xkbcomp my_xkbmap $DISPLAY
exit 0
σώζουμε το αρχείο με Ctrl+O και [enter] και μετά Ctrl+X για να βγούμε από τον nano.
Δίνεις δικαιώματα εκτέλεσης
- Κώδικας: Επιλογή όλων
chmod 755 bin/caps_nodelay.sh
Ανοίγουμε το startup applications (το βρίσκεις αν γράψεις στην αναζήτηση το συγκεκριμένο όνομα) και πατάμε add για προσθήκη νέας εφαρμογής. Το μόνο σημαντικό εδώ είναι το command. Εκεί βάζουμε το absolute ή relative path που βρίσκεται το executable. Προσωπικά προτιμώ πάντα absolute, οπότε γράφεις στο command:
- Κώδικας: Επιλογή όλων
/home/<username>/bin/caps_nodelay.sh
και το αποθηκεύεις.
Όπου <username> το αντικαθιστάς με το πραγματικό username που έχεις και επίσης, μην μεταφέρεις αλλού το αρχείο my_xkbmap.
- Η αναφορά του bug η οποία ξεκίνησε το 29-04-2010 και φαίνεται να τελειώνει 29-10-2012, χωρίς ωστόσο να επιλύει το πρόβλημα.
- Μια νέα αναφορά (συνέχεια της προηγούμενης) υπάρχει εδώ η οποία βρίσκεται ακόμη σε στάδιο NEW.
Η λύση που προτείνω παραπάνω, αναφέρεται στα σχόλια του πρώτου bug.