Dit is de opdracht xkeycaps die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
xkeycaps - geef de X-toetsenbordtoewijzing grafisch weer en bewerk deze
KORTE INHOUD
xtoetskappen [-toolkitoptie ...] [-optie
PRODUCTBESCHRIJVING
De xtoetskappen programma geeft een toetsenbord weer. Het bewegen van de muis over een toets beschrijft de
keysyms en modifiers die die sleutel genereert. Als u links op een toets klikt, simuleert u een
KeyPress-gebeurtenis. Als u met de rechtermuisknop op een toets klikt, wordt een menu met bewerkingen weergegeven, waaronder:
commando om de keysyms die de sleutel genereert te veranderen. Dit programma is gedeeltelijk een
grafische front-end naar xmodmap(1).
OPTIES
xtoetskappen accepteert alle standaard toolkit-opties en accepteert ook het volgende
opties:
-toetsenbord toetsenbordnaam or -kbd toetsenbordnaam
Specificeert het type toetsenbord dat moet worden weergegeven. Er zijn veel verschillende computers
toetsenborden ter wereld, en xtoetskappen moet weten welke u gebruikt om dit te kunnen doen
correct functioneren. Hoofdlettergebruik doet er niet toe bij het opgeven van een toetsenbordnaam.
Als je op het consoledisplay van een Sun of HP draait, dan xtoetskappen wil
ondervraag rechtstreeks de aangesloten toetsenbordhardware om te bepalen welk toetsenbord u gebruikt
gebruik makend van. Maar als u op afstand of op een ander type machine werkt, moet u dat wel doen
specificeer op de een of andere manier een toetsenbord.
-Help
Geeft een overzicht van de herkende waarden voor de -toetsenbord optie.
-breedte van de goot aantal or -gw aantal
Specificeert het aantal pixels ruimte dat tussen elke toets moet worden gelaten.
-lettertype lettertypenaam
Specificeert het lettertype dat moet worden gebruikt om de keycaps weer te geven.
De volgende standaard X Toolkit-opdrachtregelargumenten worden vaak gebruikt met xtoetskappen:
-Scherm gastheer:dpy
Deze optie specificeert de X-server waarmee contact moet worden opgenomen.
-geometrie geometrie
Deze optie specificeert de gewenste grootte en positie van het venster.
-bg kleur
Deze optie specificeert de kleur die moet worden gebruikt voor de achtergrond van het venster. De standaard
is lichtgrijs.
-fg kleur
Deze optie specificeert de kleur die moet worden gebruikt voor de voorgrond van het venster. De standaard
is zwart.
-bw aantal
Deze optie specificeert de breedte in pixels van de rand rond het venster.
-xrm brontekenreeks
Deze optie specificeert een resourcereeks die moet worden gebruikt. Dit is vooral handig voor
het instellen van bronnen die geen afzonderlijke opdrachtregelopties hebben.
DISPLAY
Het onderste deel van het venster is een tekening van een toetsenbord. Linksboven op elke toets staat
heeft de string afgedrukt die daadwerkelijk op het oppervlak van de toets verschijnt. Rechtsonder
van de sleutel is de (hexadecimale) sleutelcode die deze sleutel genereert.
Bovenaan het scherm staan verschillende regels tekst die de toets onder de muis beschrijven (of
de meest recent getypte sleutel.) Deze regels zijn:
Sleutelcode: Hier wordt de tekst weergegeven die op de fysieke sleutel is afgedrukt en de gegenereerde sleutelcode
met die sleutel in hex, decimaal en octaal.
Sleutelsymmetrie: Hier wordt de set KeySyms weergegeven die deze sleutel momenteel genereert.
ASCII: Hiermee wordt het ASCII-equivalent van deze sleutel weergegeven, rekening houdend met de
huidige modificatietoetsen die omlaag zijn.
Aanpassers: dit geeft de modificatiebits weer die deze sleutel genereert. Als een sleutel genereert
modifiers, het is een soort akkoordsleutel Shift or Controleer:.
Automatisch herhalen: Of de X-server beweert dat deze sleutel automatisch wordt herhaald. Ik zeg ``vorderingen''
omdat de OpenWindows X-server de enige is die ik ben tegengekomen waarvoor
deze informatie is juist. De autorepeat-vlag per toets lijkt bijna-
universeel genegeerd.
COMMANDO'S
Er zijn verschillende knoppen in de linkerbovenhoek van het venster. Zij zijn:
Verlaten
Verlaat het programma.
kies Toetsenbord
Er verschijnt een dialoogvenster waarin u kunt wijzigen welk toetsenbord wordt weergegeven. Links
kolom vermeldt de bekende typen toetsenborden, en de rechterkolom vermeldt de bekende
lay-outs (toewijzingen) van die toetsenborden.
Type At venster
Nadat u dit hebt geselecteerd, wordt u gevraagd op een ander venster te klikken. Nadat je dit hebt gedaan,
Door op toetsen op het toetsenbord te klikken, worden toetsgebeurtenissen in het venster dat u gebruikt gesimuleerd
geselecteerd. Door het rootvenster of het xtoetskappen venster schakelt dit uit.
Als u een vensterbeheerder gebruikt (bijvoorbeeld Buffels(1)) waarin u de
toetsenbord focus op een venster en klik nog steeds op andere vensters zonder de focus te hebben
veranderen, dan kunt u hetzelfde bereiken door alleen maar op een ander venster te focussen
en klik op de toetsen in het xtoetskappen venster.
herstellen Standaard Wereldmap
Met deze opdracht wordt het toetsenbord teruggezet naar de standaardstatus. Als u deze opdracht uitvoert
terwijl een toetsenbord wordt weergegeven dat niet het type toetsenbord is dat u werkelijk gebruikt,
uw keymap zal zich in een onzinnige staat bevinden. Er is geen manier voor xtoetskappen om te vertellen wat
toetsenbord dat u gebruikt, behalve door uw woord te geloven, dus lieg niet.
Schrijven uitgang
Dit commando schrijft een xmodmap invoerbestand dat de huidige status van het
toetsenbord (inclusief al uw wijzigingen) naar een bestand in uw thuismap. Let daar op
deze opdracht schrijft NIET de standaard toetsenbordindeling voor dit toetsenbordtype uit, tenzij u
eerder op Standaardkaart herstellen hebt geklikt.
Het bestand wordt aangeroepen .xmodmap-hostname, Waar hostname is de naam van de machine
jij loopt door. Er wordt een waarschuwing gegeven als het bestand al bestaat.
Er verschijnt een dialoogvenster: u kunt een xmodmap bestand vertegenwoordigt
de status van elke sleutel, of u kunt een kleiner bestand schrijven dat alleen de
veranderingen.
Het idee is dat je in het juiste opstartscript een regel als
xmodmap /.xmodmap-`uname -n`
in het juiste init-bestand, zodat deze toetsenbordwijzigingen elke keer worden aangebracht
u logt in. (Als u niet zeker weet waar dit commando moet staan, vraag het dan aan uw systeem
beheerder, aangezien dit van site tot site kan verschillen.)
Als u links op een toets klikt, simuleert u een Toets indrukken evenement. Het loslaten van de knop simuleert een
Sleutelvrijgave evenement. Als u links op een toets klikt en de muis beweegt terwijl de knop ingedrukt is,
Toets indrukken en Sleutelvrijgave gebeurtenissen worden gesimuleerd op elke toets waar u de muis overheen beweegt.
Beschouw de muis als uw vinger: als u de muis over meerdere toetsen sleept, verdwijnen ze
afwisselend naar beneden en naar boven.
Links klikken op een toets die is gekoppeld aan modificatiebits (zoals Shift of Control)
zorgt ervoor dat de sleutel ‘vergrendelt’. Als u nogmaals naar links klikt, wordt de sleutel vrijgegeven. Op deze manier jij
kan toetsakkoorden genereren met de muis: genereren Besturing C, klik links op de Controleer:
sleutel en klik vervolgens op de C sleutel. Klik op Controleer: nogmaals om de besturingsmodificator in te schakelen
uit.
Een toets typen op de vast toetsenbord simuleert een Toets indrukken/Sleutelvrijgave gebeurtenispaar in hetzelfde
manier waarop klikken op een toets dat doet.
Je kunt muis- en toetsenbordinvoer ook combineren: bijvoorbeeld als je de muis gebruikt om te selecteren
the Shift en typ een teken, de gebeurtenis die wordt gesimuleerd zal de Shift
modificator ingesteld. En als je de echte ingedrukt houdt Controleer: toets en klik op de C toets het
venster, een Besturing C gebeurtenis zal worden gegenereerd. (Ervan uitgaande dat dat wil zeggen dat uw windowmanager
onderschept de linkerknop niet voor eigen doeleinden.)
Als u met de rechtermuisknop op een toets klikt, verschijnt er een menu met opdrachten voor de gegeven toets. Zij zijn:
uitwisseling Keys
Nadat u dit menu-item hebt geselecteerd, wordt u gevraagd op een andere toets te klikken. Die sleutel en
de sleutel waarmee u het menu hebt geopend, wordt omgewisseld. Hierdoor verandert het toetsenbord
onmiddellijk in kaart brengen.
Dupliceren sleutel
Nadat u dit menu-item hebt geselecteerd, wordt u gevraagd op een andere toets te klikken. Die sleutel wel
er wordt een kopie gemaakt van de sleutel waarmee u het menu hebt geopend. Dat wil zeggen, de twee sleutels
zal dezelfde set keysyms en modifiers genereren. Hierdoor verandert het toetsenbord
onmiddellijk in kaart brengen.
onbruikbaar maken sleutel
De toets waarmee u het menu hebt geopend, zal zo worden gemaakt dat er geen keysyms en nee worden gegenereerd
modificatoren. Hierdoor wordt de toetsenbordtoewijzing onmiddellijk gewijzigd.
herstellen sleutel Naar Standaard
De toets waarmee u het menu hebt geopend, wordt hersteld naar de standaardstatus; Nee
andere sleutel zal worden gewijzigd. Dit verandert feitelijk de huidige toetsenbordtoewijzing.
Edit Sleutelwoorden of sleutel
Hierdoor verschijnt het venster "Toets bewerken", waarin u willekeurig kunt wijzigen welke
keysyms en modifiers die deze sleutel genereert.
Aan de linkerkant van het venster vindt u de lijst met de sleutelsymbolen die momenteel door deze sleutel worden gebruikt
genereert. (Een sleutel kan maximaal acht sleutelsymmen genereren; de interpretatie hiervan
keysyms wordt beschreven in het X-protocoldocument en wordt later samengevat in het
SLEUTELSYMEN EN SLEUTELCODES sectie van deze manpagina.)
De tweede kolom is een meerkeuzelijst van de acht modificatiebits die deze sleutel bevat
kan genereren. Als u bijvoorbeeld wilt dat een sleutel zich gedraagt als een ``control''-sleutel, kunt u
moet selecteren Controleer: modifier.
De derde en vierde kolom (de scrolllijsten) zijn voor het wijzigen van de keysym
gekoppeld aan de sleutel. Wanneer u een sleutelsympositie uit de eerste kolom selecteert, wordt de
tekenset en keysym worden weergegeven in de schuiflijsten. Door op een te klikken
keysym in de kolom ``KeySym'' zal die keysym in het gemarkeerde slot installeren
de eerste kolom.
Om een keysym uit een andere tekenset te selecteren, klikt u op de naam van de tekenset
de tweede kolom. (De Latijn1 en Toetsenbord tekensets komen het meest voor
gebruikt.)
Onderaan het venster staan drie knoppen: ongedaan maken, Afbrekenen Ok. Aanklikken ongedaan maken
zet het venster Sleutel bewerken terug naar de huidige status van de betreffende sleutel. Afbreken sluit
het venster Sleutel bewerken zonder wijzigingen aan te brengen. Ok sluit het venster Sleutel bewerken en
installeert uw wijzigingen (de huidige toetsenbordtoewijzing is gewijzigd.)
SLEUTELSYMEN EN SLEUTELCODES
Om uw toetsenbordtoewijzing effectief te kunnen bewerken, zijn er enkele termen waarmee u vertrouwd moet zijn
met:
Sleutelcode Dit is een onbewerkte scancode die vanaf het toetsenbord wordt gelezen; elke fysieke sleutel op de
er is een ander nummer aan het toetsenbord gekoppeld; deze mapping kan niet waar zijn
veranderd (maar dat is oké.)
Over het algemeen heeft elk toetsenbord zijn eigen set KeyCodes, en daarom zult u dat ook doen
waarschijnlijk moet u voor elk systeem dat u gebruikt een andere toetsenbordindeling hebben.
SleutelSym Dit is een symbool dat kan worden gegenereerd door een enkele druk op één toets op de
toetsenbord: alle letters, cijfers en leestekens zijn bijvoorbeeld toetssymmen, enzovoort
zijn meer abstracte zaken als ``shift'' en ``control''.
Elke KeyCode (dat wil zeggen: de toets op het toetsenbord) is gekoppeld aan bepaalde KeySyms.
De KeySyms geven de sleutels hun semantiek (en zorgen ervoor dat de A-sleutel genereert
een A), niet de KeyCodes.
Meestal worden sleutels geassocieerd met een of twee sleutelsymmen, die overeenkomen met de
symbolen die worden gegenereerd wanneer de toets wordt ingedrukt, en wanneer deze wordt ingedrukt terwijl de toets wordt ingedrukt
shift-toets ingedrukt wordt gehouden. Er is een speciaal geval, namelijk als de sleutel
slechts één KeySym bevat, en het is een letter, dan doet de Shift-toets het
voor de hand liggend wat je met letters doet.
Sleutelkap Niet te verwarren met KeySyms, dit verwijst naar de tekst die op het
fysieke toetsen: deze zijn onveranderlijk (tenzij je je toetsenbord opnieuw schildert...)
Akkoord Deze term verwijst naar een set van twee of meer toetsen die tegelijkertijd worden ingedrukt (door
analogie met pianotoetsenborden.) Op één na zullen alle toetsen dat in het algemeen zijn
Modificatietoetsen. Soms Sterrenbeeld wordt gebruikt om hetzelfde te betekenen.
modifier sleutel
Dit is een sleutel zoals shift of control, die wordt gebruikt om de interpretatie te veranderen
van andere toetsen die tegelijkertijd ingedrukt worden gehouden. Normaal gesproken drukt u op a
wijzigingstoets zonder ook op een niet-wijzigingstoets te drukken, doet niets.
Een sleutel is een modificatiesleutel als er een Modifier KeySym op staat. (Specifieker,
als de KeyCode van die sleutel is gekoppeld aan een Modifier KeySym.)
modifier SleutelSym
Een KeySym is een modifier keysym als er een Modifier Bit aan is gekoppeld. Maar,
de regels zijn iets ingewikkelder dan dat. Het is gemakkelijker te beschrijven door
voorbeeld:
Om ervoor te zorgen dat een sleutel zich gedraagt zoals men verwacht dat een Shift-toets zich gedraagt, moet de sleutelcode dat doen
zorg ervoor dat de Shift-modificatiebit is ingesteld; en de sleutel zou een van de keysyms moeten genereren
Shift_L en Shift_R. Als een van deze twee niet waar is, zal de sleutel zich niet gedragen zoals
een shift-toets.
Op analoge wijze moet een bedieningstoets de Control-modifier hebben ingesteld en er een gebruiken
de toetsensymmen Control_L of Control_R.
Dit houdt in dat als je je shift- en control-toetsen zou willen verwisselen, dat zou gebeuren
Het is niet genoeg om simpelweg hun modificatiebits te verwisselen: je moet hun keysyms verwisselen als
Goed. Als je alleen de modificatiebits verwisselt, lijkt het in eerste instantie misschien te werken, maar
andere dingen zouden niet goed werken.
Toetsen zoals Meta (en Super, Hyper, enz.) zijn iets ingewikkelder (zie hieronder).
modifier Beetje
Modificatiebits zijn attributen die bepaalde keysyms kunnen hebben. Enkele modificatiebits
hebben vooraf gedefinieerde semantiek: Shift, Lock en Control. De resterende modificator
bits (Mod1 tot en met Mod5) hebben een semantiek die wordt gedefinieerd door de sleutels waarmee
ze zijn geassocieerd.
Dat wil zeggen, de Control-modifier betekent Control als deze is gekoppeld aan Control_L of
Control_R, en is elders illegaal.
Maar Mod1 betekent Meta als het is gekoppeld aan Meta_L of Meta_R; maar het zou Alt
als het aan Alt_L of Alt_R was gekoppeld; of Hyper met Hyper_L of Hyper_R; en dus
op. (Het kon echter niet aan Control_L worden gekoppeld, aangezien Control
modifier heeft al gesproken voor die keysyms.)
Als je denkt dat dit allemaal zinloos ingewikkeld is... dan heb je gelijk.
X PROTOCOL DOCUMENT ON SLEUTELKAARTEN
Het volgende is een meer precieze technische uitleg van hoe keymapping werkt. Dit
de beschrijving komt uit het X Protocol-document en wordt hier voor uw gemak herdrukt:
Aan elke KeyCode is een lijst met KeySyms gekoppeld. Als die lijst (waarbij de trailing
Geen symbool entry's) een enkele KeySym ``K'' is, dan wordt de lijst behandeld alsof het de
lijst `` K Geen symbool K GeenSymbool''. Als de lijst (waarbij de trailing wordt genegeerd Geen symbool inzendingen) is een
paar KeySyms ``K1 K2'', dan wordt de lijst behandeld alsof het de lijst is ``K1 K2 K1
K2''. Als de lijst (waarbij de trailing wordt genegeerd Geen symbool entry's) is een drievoud van KeySyms ``K1 K2
K3'', dan wordt de lijst behandeld alsof het de lijst is ``K1 K2 K3 GeenSymbool''.
De eerste vier elementen van de lijst zijn opgesplitst in twee groepen KeySyms. Groep 1
bevat de eerste en tweede KeySyms, Groep 2 bevat de derde en vierde KeySyms.
Binnen elke groep, als het tweede element van de groep is Geen symbool, dan de groep
moet worden behandeld alsof het tweede element hetzelfde is als het eerste element, behalve
wanneer het eerste element een alfabetische KeySym ``K'' is waarvoor zowel kleine letters als
hoofdlettervormen zijn gedefinieerd. In dat geval moet de groep worden behandeld alsof de
het eerste element was de kleine letter van ``K'' en het tweede element was de
hoofdlettervorm van ``K''.
De standaardregels voor het verkrijgen van een KeySym uit een KeyPress-gebeurtenis maken alleen gebruik van de
Groep 1 en Groep 2 KeySyms; er wordt geen interpretatie van andere KeySyms in de lijst gegeven
hier. (Dat wil zeggen dat de laatste vier KeySyms ongebruikt zijn.)
Welke groep u moet gebruiken, wordt bepaald door de modifier-status. Schakelen tussen groepen wel
bestuurd door de genoemde KeySym Modusschakelaar.
Door die KeySym aan een KeyCode te koppelen en die KeyCode aan een van de
modifiers Mod1 brengt Mod5. Deze modificator wordt de ``groepsmodificator'' genoemd. Voor enige
KeyCode, Groep 1 wordt gebruikt als de groepsmodificator is uitgeschakeld, en Groep 2 wordt gebruikt als de
groepsmodifier is ingeschakeld.
Binnen een groep wordt welke KeySym moet worden gebruikt ook bepaald door de modifier-status. De eerste
KeySym wordt gebruikt wanneer de Shift en Slot modifiers zijn uitgeschakeld. De tweede KeySym wordt gebruikt
wanneer de Shift modifier is ingeschakeld, of wanneer de Slot modifier is ingeschakeld en de tweede KeySym
alfabetisch in hoofdletters is, of wanneer de Slot modifier is ingeschakeld en wordt geïnterpreteerd als
ShiftLock. Anders, wanneer de Slot modifier is ingeschakeld en wordt geïnterpreteerd als Caps lock,
de staat van de Shift modifier wordt eerst toegepast om een KeySym te selecteren, maar als dat het geval is
KeySym is alfabetisch in kleine letters, waarna de overeenkomstige KeySym in hoofdletters wordt gebruikt
gebruiken.
ICCCM ON HET BEWERKEN MAPPING
Het volgende is een meer precieze technische uitleg van hoe modificatietoetsen werken
geïnterpreteerd. Deze beschrijving komt uit de Inter-Client Communications Conventions Manual,
en wordt hier voor uw gemak herdrukt:
X11 ondersteunt 8 modificatiebits, waarvan er 3 vooraf zijn toegewezen Shift, Slot en Controleer:.
Elke modificatiebit wordt bestuurd door de status van een set sleutels, en deze sets zijn dat ook
gespecificeerd in een tabel waartoe toegang wordt verkregen GetModifierMapping() en SetModifierMapping().
Een client die een van de vooraf toegewezen modifiers moet gebruiken, moet ervan uitgaan dat de
modifier-tabel is correct ingesteld om deze modifiers te besturen. De Slot
modifier moet worden geïnterpreteerd als Caps Slot or Shift Slot volgens de sleutelcodes in
de controlerende set omvat XK_Caps_Lock or XK_Shift_Lock.
Cliënten moeten de betekenis van een modificatiebit bepalen aan de hand van de gebruikte keysyms
controleer het.
Een klant die bijvoorbeeld een extra modifier moet gebruiken meta, zou moeten:
Scan de bestaande modifier-toewijzingen. Als er een modifier wordt gevonden die een sleutelcode bevat
waarvan de set keysyms omvat XK_Meta_L or XK_Meta_R, zou het die modifier moeten gebruiken
beetje.
Als er geen bestaande modifier wordt beheerd door XK_Meta_L or XK_Meta_R, Het zou moeten
selecteer een ongebruikt modificatiebit (een met een lege besturingsset) en:
Als er een sleutelcode bij is XL_Meta_L Voeg in de set keysyms die sleutelcode toe
de set voor de gekozen modifier, dan
als er een sleutelcode bij zit XL_Meta_R Voeg in de set keysyms die sleutelcode toe
de set voor de gekozen modifier, dan
als de controleset nog leeg is, kunt u met de gebruiker communiceren om er één of te selecteren
meer sleutels te zijn meta.
Als er geen ongebruikte modificatiebits zijn, vraag dan de gebruiker om corrigerende maatregelen te nemen.
Het bovenstaande betekent dat de Mod1 modifier betekent niet noodzakelijkerwijs meta, Hoewel sommige
toepassingen (zoals Buffels en emacs 18) aannemen dat. Elk van de vijf niet-toegewezen modifiers
bits kunnen Meta betekenen; waar het om gaat is dat een modificatiebit wordt gegenereerd door een sleutelcode die
is gebonden aan de keysym Metaal or Meta_R.
Als u daarom een ``meta''-sleutel wilt maken, is de juiste manier om de sleutelcode in te voeren
vraag genereert zowel een meta keysym en een eerder niet-toegewezen modificatiebit.
HET MODE_SCHAKELAAR SLEUTELSYM
In het geval dat het bovenstaande niet klopte, wat de Modusschakelaar keysym doet, is feitelijk handelen
als een extra soort shift-toets. Als je vier keysyms aan de A-toets hebt gekoppeld, dan
die vier keysyms zijn toegankelijk via de akkoorden: A; Shift-A, Mode_Switch-A; En
Mode_Switch-Shift-A, respectievelijk.
Zoals bij elke modificatiesleutel moet Mode_switch een modificatiebit hebben om te kunnen functioneren
ernaar. Selecteer dus een van de bits Mod1 tot en met Mod5 (afhankelijk van welke ongebruikt is) en voeg die toe
naar de Mode_switch-toets.
HET MULTI_KEY SLEUTELSYM
Niet te verwarren met Mode_switch, Multi_sleutel maakt de invoer van meerdere tekens mogelijk
reeksen die één enkel teken vertegenwoordigen (keysym.) Een meer traditionele naam hiervoor
keysym zou kunnen zijn geweest Samenstellen.
De Multi_sleutel keysym is niet een modificatiesleutelsym. Dat wil zeggen, om het goed te laten functioneren, het
Er mogen geen modificatiebits aan gekoppeld zijn. Dit komt omdat het geen
``chording''-toets: je houdt hem niet samen met andere toetsen ingedrukt. In plaats daarvan druk je
Multi_key, laat deze los, druk vervolgens op een andere toets en laat deze weer los, en de twee geven samen toe
een nieuw personage.
Eén traditionele binding zou bijvoorbeeld geschikt zijn voor Multi_sleutel, Gevolgd door alleenstaande citaat,
gevolgd door A om de Acuut sleutelsym.
Niet alle leveranciers ondersteunen het gebruik van de Multi_key keysym; in het bijzonder Digital, Sun en
HP ondersteunt het, maar het X Consortium niet. (De reden hiervoor, zo is mij verteld, is dat
``Compose''-reeksen worden als verouderd beschouwd; de partijlijn is die je zou moeten gebruiken
Invoermethoden om dit te doen.)
Of Multi_key werkt, is een eigenschap van de Xt bibliotheek (niet de X-server), dus dat is zo
Het is mogelijk dat Multi_key op een enkel systeem met sommige applicaties werkt en niet
anderen (afhankelijk van hoe die applicaties zijn samengesteld en gekoppeld.)
Als u Lucid Emacs of XEmacs gebruikt, kunt u zelfs profiteren van Multi_key-reeksen
als uw versie van Xt dit niet ondersteunt, kunt u het bestand x-componeren bibliotheek, welke
simuleert het traditionele Xt-gedrag. Lees voor meer informatie het commentaar bovenaan
het bestand "/usr/local/lib/xemacs-*/lisp/x11/x-compose.el".
DEAD SLEUTELSYMEN
Dode toetsen werken op dezelfde manier als Multi_key, maar het zijn opdrachten met twee toetsaanslagen in plaats van drie.
Druk bijvoorbeeld op de Dood_tilde toets, laat deze los en druk vervolgens op de A sleutel zou
genereer de enkele keysym Atilde. (Ze worden ‘dode’ sleutels genoemd omdat ze dat niet doen
zelf tekens invoegen, maar in plaats daarvan het volgende getypte teken wijzigen. Maar HP
noemt ze graag ‘stom’ in plaats van ‘dood’, ongetwijfeld om te voorkomen dat de mensen bang worden gemaakt.
kinderen.)
Nogmaals, deze worden niet door alle versies van de Xt-bibliotheek ondersteund (maar kunnen worden gesimuleerd door
XEmacs.)
Merk ook op dat verschillende leveranciers verschillende namen hebben voor de dode keysyms. Bijvoorbeeld:
afhankelijk van uw leverancier, de X-serverversie en de maanfase kunt u dat tegenkomen
de naam van ``dead-tilde'' is Dead_Tilde, Dtilde, SunFA_Tilde, SunXK_FA_Tilde, DXK_tilde,
DXK_tilde_accent, hpmute_asciitilde, hpXK_mute_asciitilde of zelfs XK_mute_asciitilde.
Het is een puinhoop! Je zult het gewoon moeten proberen en zien wat werkt, als er iets is.
DINGEN U CAN NOT DO
Mensen vragen vaak of xkeycaps of xmodmap gebruikt kunnen worden om één sleutel een reeks te laten genereren
karakters. Helaas niet: je kunt dit soort dingen niet doen door de
toetsenbordkaarten van de server. Het X-toetsenbordmodel werkt gewoon niet op die manier.
De manier om zulke dingen te doen is door vertaalbronnen in te stellen op bepaalde widgets. Het heeft
per toepassing te doen. Dit is bijvoorbeeld hoe u dat zou doen
overtuigt xterm(1) om de string in te voegen volgende wanneer u op F17 drukt:
xterm*VT100.Vertalingen: #override \
F17: tekenreeks("volgende")
Andere toepassingen kunnen verschillende mechanismen hebben om hetzelfde te bereiken, en
sommige applicaties ondersteunen dit mogelijk helemaal niet. Controleer de relevante manpagina's voor
bijzonderheden.
Op dezelfde manier kun je de ene sleutel niet overtuigen om een andere sleutel te genereren met modificatoren (bijvoorbeeld
je kunt F1 niet als Ctrl-A laten gedragen, behalve door vertalingen te gebruiken, zoals hierboven.)
Het is ook niet mogelijk om een toetsenbordtoets als muisknop te laten fungeren.
VERLIEZER VENDORS
Zowel HP als SuSE leveren hun systemen standaard met defecte toetsenbordinstellingen. Zij
Eigenlijk zouden ze beter moeten weten, maar dat doen ze niet.
Zoals hierboven uitgelegd, is dat zo Gulf Driller VI gedrag dat één modificatiebit tussen twee wordt gedeeld
sleutels met een ongelijke semantiek.
Standaard gebruikt HP Mod1 zowel meta en Modusschakelaar. Dit betekent dat het onmogelijk is
voor een programma om het verschil te zien tussen bijvoorbeeld Meta-X en Mode_switch-X.
Om deze puinhoop te herstellen, moet je de Mode_switch-toets een ander modificatiebit geven
(modus2, bijvoorbeeld.) Of u kunt het gewoon volledig uit de toetsenbordindeling verwijderen.
SuSE Linux is zelfs nog meer verpest dan HP: terwijl HP's standaard keymap alleen maar
één bug, de standaardkaart van SuSE bevat drie totaal verschillende fouten!
Ten eerste heeft hun standaardtoetsenbord de Controleer: modifier gekoppeld aan zowel de Controleer: toets en
the Multi_sleutel. Dit is volkomen krankzinnig, want dat is het niet alleen Multi_sleutel geen bedieningssleutel,
het is niet eens een akkoorden sleutel! Er mogen helemaal geen modificatiebits aan zijn gekoppeld.
Ten tweede hechten ze zich Mod1 naar Metaal en ook Alt_R. Sommige mensen denken dat ``meta'' en
``alt'' zijn synoniemen, maar feit is dat het X Window-systeem het daar niet mee eens is. Die zijn
aparte sleutels. Het is mogelijk om zowel de ``meta''- als de ``alt''-toets op het toetsenbord te hebben
tegelijkertijd, en om programma's ze duidelijk te laten interpreteren. Maar natuurlijk alleen als ze
deel niet op valse wijze hetzelfde modificatiebit, waardoor de interpretatie van dat bit hetzelfde is
dubbelzinnig.
Ten derde hechten ze zich Mod5 aan beide Scroll Lock Samen Hyper_R, wat om redenen verkeerd is
dat zou inmiddels duidelijk moeten zijn.
De eenvoudigste manier om uw SuSE-configuratie te herstellen is door: verwijderen onder controle te houden vanaf Multi_sleutel;
verander de linker Alt-toets om te genereren Alt_L in plaats van Metaal; en verwijder de Hyper_R sleutelsymbool
vanaf het toetsenbord.
Als u enige aantrekkingskracht heeft op deze leveranciers, moedig ik u aan om hen aan te moedigen hun producten te kopen
samen optreden.
X KENNISDATABASE
XKeyCaps begrijpt alle namen en klassen van kernbronnen, evenals:
*Toetsenbord.toetsenbord (klas Toetsenbord)
Welk toetsenbord moet worden weergegeven; dit is hetzelfde als de -toetsenbord opdrachtregeloptie. Als
dit is niet gespecificeerd; het standaardtoetsenbord wordt geraden, gebaseerd op de leverancier van de server
identificatiereeks.
*Toetsenbord.Toetsenbord.selectCursor (klas Cursor)
De cursor die u moet gebruiken bij het selecteren van een toets of venster met de muis. De standaardinstelling is de
crosshair cursor.
*Toetsenbord.Toets.markering (klas Achtergrond)
De kleur die moet worden gebruikt om een toets te markeren wanneer deze wordt ingedrukt. Als dit hetzelfde is als de
achtergrondkleur van de toets, wordt deze gemarkeerd met een stippelpatroon.
*Keyboard.Key.keycapColor (klas Voorgrond)
De kleur waarmee de keycap-string wordt geverfd.
*Toetsenbord.Sleutel.sleutelcodeKleur (klas Voorgrond)
De kleur voor het sleutelcodenummer.
*Toetsenbord.Toets.borderkleur (klas Kleur)
De kleur van het vakje rond elke sleutel.
*Keyboard.Key.keycapFont (klas doopvont)
Het lettertype dat moet worden gebruikt om de keycap-tekenreeks te tekenen.
*Keyboard.Key.keycodeFont (klas doopvont)
Het lettertype dat moet worden gebruikt om het sleutelcodenummer te tekenen.
*Keyboard.Key.borderWidth (klas Int)
De dikte van het vakje rond elke sleutel.
*Keyboard.Key.gutterWidth (klas Int)
Hoeveel pixels moeten er overblijven tussen deze sleutel en zijn buren rechts en onderaan.
De klasse van elke sleutelwidget is ``Key'', zoals u hierboven ziet. De naam van elke sleutel is de
tekenreeks(en) op de voorkant gedrukt. Dus als je (bijvoorbeeld) de Shift sleutels te hebben
bredere randen, je zou dat kunnen specificeren
xkeycaps*Keyboard.Shift.borderBreedte: 2
ACTIES
Het is mogelijk om de acties die plaatsvinden wanneer een toets of muisknop wordt ingedrukt of opnieuw te verbinden
uitgegeven. Deze acties zijn beschikbaar op de Toetsenbord widget:
Hoogtepuntsleutel(voorwaarde, arg)
Hierdoor wordt de betreffende sleutel in de gemarkeerde status geplaatst.
Zo nee argument wordt doorgegeven aan deze actie, dan wordt de sleutel bepaald door de gebeurtenis die
heeft deze actie aangeroepen. Als deze actie wordt aangeroepen door a Toets indrukken or Sleutelvrijgave evenement, de
key-widget is de sleutel die overeenkomt met de sleutel die de gebeurtenis vertegenwoordigt. Als het een
KnopDruk, Knop Vrijgevenof AanwijzerMotie gebeurtenis, dan is de sleutelwidget degene
onder de muis.
De argument kan een van de woorden zijn muis, gemarkeerdof weergegeven, wat de sleutel betekent
onder de muis, de meest recentelijk gemarkeerde toets, of de toets die momenteel in gebruik is
respectievelijk beschreven in het gebied ``Info'' bovenaan het venster.
De voorwaarde kan een van de woorden zijn alsmod, tenzijmod, alstracking, tenzij volgen,
indiengemarkeerdof tenzijgemarkeerd. Indien alsmod is opgegeven en om welke sleutel het gaat
(zoals bepaald door de argument of door de aanroepende gebeurtenis) is dus geen wijzigingssleutel
deze actie wordt niet uitgevoerd. De tenzijmod voorwaarde is het tegenovergestelde. De alstracking
en tenzij volgen Met de voorwaarden kunt u sommige acties alleen uitvoeren als (of tenzij) de sleutel
wordt ``gevolgd'' met de muis (zie hieronder). indiengemarkeerd en
tenzijgemarkeerd Met acties kunt u sommige dingen alleen doen als (of tenzij) de sleutel is ingedrukt
de vraag heeft momenteel de gemarkeerde status.
UnhighlightKey(voorwaarde, arg)
Hierdoor wordt de sleutel in kwestie in de niet-gemarkeerde staat geplaatst. Argumenten zijn zoals hierboven.
Wisselsleutel(voorwaarde, arg)
Hierdoor wordt de sleutel gemarkeerd als deze niet is gemarkeerd, of niet-gemarkeerd als dat wel het geval is
gemarkeerd. Argumenten zijn zoals hierboven.
Toetsdruk simuleren(voorwaarde, arg)
Deze actie maakt een Toets indrukken gebeurtenis die overeenkomt met de sleutel die moet worden gesynthetiseerd op de
focusvenster. Argumenten zijn zoals hierboven.
SimulateKeyRelease(voorwaarde, arg)
Deze actie maakt een Sleutelvrijgave gebeurtenis die overeenkomt met de sleutel die moet worden gesynthetiseerd op de
focusvenster. Argumenten zijn zoals hierboven.
TrackKey(voorwaarde, arg)
Dit zorgt ervoor dat de sleutel in kwestie wordt ``gevolgd'', wat betekent dat het verplaatsen van de
muis eraf, simuleert een actie waarbij de knop wordt losgelaten, en simuleert vervolgens een
druk op de knop op de toets waarnaar de muis is verplaatst. Deze actie mag alleen
worden opgeroepen vanuit a KnopDruk or Knop Vrijgeven evenement.
UntrackKey(voorwaarde, arg)
Hierdoor wordt de sleutel in kwestie niet langer ``bijgehouden.''
BeschrijfSleutel(voorwaarde, arg)
Deze actie zorgt ervoor dat de sleutel en zijn bindingen worden weergegeven in de sectie ``Info'' op
de bovenkant van het venster, als dit daar nog niet is beschreven.
De standaardacties voor de Toetsenbord widget zijn:
: DescribeKey(muis,tenzijTracking) \n\
\
: HighlightKey() \
DescribeKey(tenzijMod) \
BeschrijfSleutel(weergegeven) \
Toetsdruk simuleren() \n\
\
: UnhighlightKey() \
BeschrijfSleutel(weergegeven) \
SimulateKeyRelease() \n\
\
: HighlightKey(tenzijMod) \
ToggleKey(ifMod) \
TrackKey(tenzijMod) \
Toetsdruk simuleren(indiengemarkeerd) \
SimulateKeyRelease(tenzijgemarkeerd) \n\
\
: UntrackKey(gemarkeerd) \
SimulateKeyRelease(gemarkeerd,tenzijMod) \
UnhighlightKey(gemarkeerd,tenzijMod) \n\
\
: XawPositionSimpleMenu(keyMenu) \
MenuPopup(sleutelMenu) \n
Als u niet wilt dat een sleutel telkens wordt beschreven wanneer u er met de muis overheen beweegt, kunt u deze verwijderen
the actie. In dat geval moet u waarschijnlijk toevoegen BeschrijfSleutel() aan de
en acties.
Als u wilt dat de toets onder de muis wordt beschreven, zelfs terwijl de muis beweegt met a
knop naar beneden en verwijder vervolgens de tenzijTracking parameter van de BeschrijfSleutel actie gebonden
.
Als u niet wilt dat de modificatietoetsen schakelen, wijzig dan de Button1 acties om
xkeycaps*Keyboard.actions: #override \
: HighlightKey() \
TrackKey(tenzijmod) \
Toetsdruk simuleren() \n\
: UntrackKey(gemarkeerd) \
SimulateKeyRelease(gemarkeerd) \
UnhighlightKey(gemarkeerd) \n
Houd er rekening mee dat deze acties bestaan op de Toetsenbord widget, niet op de sleutel widgets. als jij
acties toevoegen aan de sleutel widgets, dingen zullen defect raken.
MILIEU
DISPLAY
om het standaard host- en weergavenummer te krijgen.
XOMGEVING
om de naam op te halen van een bronbestand dat de globale bronnen overschrijft die zijn opgeslagen in het
RESOURCE_MANAGER eigenschap.
XKEYSYMDB
om de locatie van de XKeysymDB -bestand, waarin de leverancierspecifieke keysyms worden vermeld.
UPGRADES
De laatste versie kunt u altijd vinden op
http://ftp.debian.org/debian/pool/main/x/xkeycaps/
Gebruik xkeycaps online met behulp van onworks.net-services