ctrl + pilupp = pgup, går det?

Skrivbordsmiljöer, fönsterhanterare och desklets
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

ctrl + pilupp = pgup, går det?

Inlägg av dolk »

Hej,

Jag använder pgup/pgdown ganske mycket när jag browsar. Tyvärr sitter tangenten lite dumt till. Går det att mappa tangenter så att ctrl + pilupp ger pgup beteende? Lite samma stil som Mac.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: ctrl + pilupp = pgup, går det?

Inlägg av Konservburk »

Ja, det går.

Men att göra sådana ommappningar är tyvärr inte i närheten av nybörjarvänligt. Jag kan guida dig steg för steg, men bara om du är bekväm nog att våga gå in och pilla för hand i inställningsfiler, och bara om jag får flytta den här tråden bort från nybörjardelen.
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

alright sweet !

Jag har inga problem att rodda i config filer och läsa doc. Men just nu vet jag inte var jag skall börja.

Jo förresten det vet jag, backup!

Helt ok för mig att flytta tråden.

Jag tror att jag antagligen kan fixa detta själv om jag vet vilka konfig filer det handlar om samt var jag hittar doc för dessa.

Men jag är naturligtvis mycket tacksam för all handledning jag får, specifikt för det jag vill åstakomma.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: ctrl + pilupp = pgup, går det?

Inlägg av Konservburk »

Sådär, nu har jag flyttat bort tråden från nybörjardelen.

Nu ska du till att börja med välja vilken nivå du vill lägga dig på...

Den enkla fullösningen är att hårdkoda in ändringen, vilket innebär att den kommer att gälla för alla tangentbordslayouter för alla användare utan möjlighet att inaktivera den. Fördelen med den här varianten är att det bara är ett par rader kod som behöver ändras, och bara i en enda fil.

Vill du istället göra det hela snyggt och prydligt så blir det betydligt mer pillande i flera olika filer. Fördelen är att det hela blir valbart via gränssnittet i System -> Inställningar -> Tangentbord.

Tyvärr så kan du inte börja med den enkla varianten för att sedan bygga på med den svårare. Väljer du den enkla så måste du återställa allt innan du kan ge dig på den svåra.
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

I detta fallet är jag pragmatiskt lagd. global setting bör vara helt ok. Ctrl + up/ner är endå något sånär exotisk kombo.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: ctrl + pilupp = pgup, går det?

Inlägg av Konservburk »

Då kör vi på den lättare varianten. :)

Du ska leta reda på och ändra i en systemfil: /usr/share/X11/xkb/symbols/pc
Jag antar att du vet hur du hittar den och hur du skaffar dig rättigheter att ändra i den. Säg till annars.

Mot slutet av den filen hittar du följande rader:

Kod: Markera allt

    key   <UP> {        [  Up                   ]       };
    key <LEFT> {        [  Left                 ]       };
    key <DOWN> {        [  Down                 ]       };
    key <RGHT> {        [  Right                ]       };
Det är här du ska göra dina ändringar.

För att få till så att ctrl-up blir pgup så ska du ändra <UP>-raden så att den blir så här:

Kod: Markera allt

    key   <UP> { type= "PC_CONTROL_LEVEL2", [ Up, Prior ] };
Och på motsvarande sätt för att få till så att ctrl-ner blir pgdn så ska du ändra <DOWN>-raden så att den blir så här:

Kod: Markera allt

    key <DOWN> { type= "PC_CONTROL_LEVEL2", [ Down, Next ] };
Spara filen, logga ut och logga in igen. Nu ska det fungera som du vill ända tills du installerar om ubuntu från början.

Jag antar att du kanske även vill ha ctrl-vänster som home och ctrl-höger som end? Allt som allt blir det då så här:

Kod: Markera allt

    key   <UP> { type= "PC_CONTROL_LEVEL2", [ Up,  Prior ] };
    key <LEFT> { type= "PC_CONTROL_LEVEL2", [ Left, Home ] };
    key <DOWN> { type= "PC_CONTROL_LEVEL2", [ Down, Next ] };
    key <RGHT> { type= "PC_CONTROL_LEVEL2", [ Right, End ] };
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

ok, ändrat enligt nedan bootar om och testar.

// key <UP> { [ Up ] };
key <UP> { type= "PC_CONTROL_LEVEL2", [ Up, Prior ] };

fingrarna korsade.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: ctrl + pilupp = pgup, går det?

Inlägg av Konservburk »

Du behöver egentligen inte boota om. Det ska räcka med att logga ut och logga in igen.
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

nej det verkar inte ha bitit. Testade en lång hmtl sida i firefox.

Detta var blocket jag ändrade

Kod: Markera allt

partial hidden alphanumeric_keys
xkb_symbols "editing" {
    key <PRSC> {
	type= "PC_ALT_LEVEL2",
	symbols[Group1]= [ Print, Sys_Req ]
    };
    key <SCLK> {  [  Scroll_Lock	]	};
    key <PAUS> {
	type= "PC_CONTROL_LEVEL2",
	symbols[Group1]= [ Pause, Break ]
    };
    key  <INS> {	[  Insert		]	};
    key <HOME> {	[  Home			]	};
    key <PGUP> {	[  Prior		]	};
    key <DELE> {	[  Delete		]	};
    key  <END> {	[  End			]	};
    key <PGDN> {	[  Next			]	};

//    key   <UP> {	[  Up			]	};
    key   <UP> { type= "PC_CONTROL_LEVEL2", [ Up, Prior ] };
    key <LEFT> {	[  Left			]	};
    key <DOWN> {	[  Down			]	};
    key <RGHT> {	[  Right		]	};
};

dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

key <UP> { type= "PC_CONTROL_LEVEL2", [ Up, Prior ] };
=>
key <UP> { type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Up, Prior ] };


Kan det vara vad som saknas. Så är de andra entryn upplagda. Har egentligen ingen aning om hur denna syntax fungerar.

jag provar det, kostar ju inget.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: ctrl + pilupp = pgup, går det?

Inlägg av Konservburk »

Det skadar inte att försöka. Jag har dock för mig att symbols[Group1]= kommer med implicit ändå. Som jag ser det så ändrade rätt block och på rätt sätt. Det borde fungerat, så då får vi börja felsöka istället.

Börja med att starta upp en terminal, kör kommandot xev, flytta fokus till den vita rutan och testa att trycka både upp och ctrl-upp. Då kommer det en massa info i terminalen som är intressant. För mig blir det (bland annat) så här:

Bara upp:

Kod: Markera allt

KeyPress event, serial 30, synthetic NO, window 0x3800001,
    root 0x102, subw 0x0, time 4577530, (95,87), root:(96,140),
    state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False
ctrl-upp:

Kod: Markera allt

KeyPress event, serial 33, synthetic NO, window 0x3800001,
    root 0x102, subw 0x0, time 4627871, (102,102), root:(103,155),
    state 0x4, keycode 111 (keysym 0xff55, Prior), same_screen YES,
    XKeysymToKeycode returns keycode: 112
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False
Sen vill jag även att du kör det här kommandot:

Kod: Markera allt

xkbcomp -xkb -a :0.0 test.xkb
Då får du en fil som heter test.xkb som jag vill att du bifogar här.

Även följande kommandon skulle kunna ge oss ledtrådar till vad som strular:

Kod: Markera allt

xprop -root | grep XKB

Kod: Markera allt

gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

Det verkade inte heller fungera.

Jag vet att det svårt att felsöka via intruktioner till någonannan.

Nu har jag iaf ett ben att tugga på. Ska läsa på kring detta och testa mig fram.

Hur svårt kan det vara :).
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

ok, återkommer strax med output

tack !
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

Vad det gäller xev så kommer det aldrig något prior. Bara push och release för up och contlr_left. kladdar in logg.

Kod: Markera allt


MotionNotify event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 606548, (45,4), root:(1227,568),
    state 0x0, is_hint 0, same_screen YES

MotionNotify event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 606561, (41,-2), root:(1223,562),
    state 0x0, is_hint 0, same_screen YES

LeaveNotify event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 606569, (35,-14), root:(1217,550),
    mode NotifyNormal, detail NotifyNonlinear, same_screen YES,
    focus YES, state 0

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 607796, (16,-85), root:(1198,479),
    state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 608005, (16,-85), root:(1198,479),
    state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 609944, (16,-85), root:(1198,479),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 610616, (16,-85), root:(1198,479),
    state 0x4, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 610899, (16,-85), root:(1198,479),
    state 0x4, keycode 111 (keysym 0xff52, Up), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 611281, (16,-85), root:(1198,479),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 614504, (16,-85), root:(1198,479),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 614713, (16,-85), root:(1198,479),
    state 0x4, keycode 54 (keysym 0x63, c), same_screen YES,
    XLookupString gives 1 bytes: (03) ""
    XmbLookupString gives 1 bytes: (03) ""
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 614853, (16,-85), root:(1198,479),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

xkbcomp -xkb -a :0.0 test.xkb

ger tomt svar

bjdo@bjdo-laptop:~$ xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "se", "", ""
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "se", "", ""
bjdo@bjdo-laptop:~$


bjdo@bjdo-laptop:~$ gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd
layouts = [se]
options = []
model =
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: ctrl + pilupp = pgup, går det?

Inlägg av Konservburk »

dolk skrev:xkbcomp -xkb -a :0.0 test.xkb

ger tomt svar
Det är meningen. Det ska istället ha skapats en ny fil som heter test.xkb där utdatan hamnat.

Även utdatan från dessa kommandon är av intresse:

Kod: Markera allt

setxkbmap -print

Kod: Markera allt

setxkbmap se
Edit: Och även detta...

Kod: Markera allt

setxkbmap -print | xkbcomp - :0.0
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

sorry att det dröjde. Nu ska vi se. Det var rätt mycket output. Jag bifogar en textfil.
Bilagor
pgup.txt
(71.23 KiB) Nerladdad 156 gånger
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

Ehh nu när jag browsar den stora txt filen med output märker jag att ctrl + up fungerar.

Vad var det magiska som hände?

Ska köra xev ingen och se vad den tycker.
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

xev ger nu rätt events.

Kod: Markera allt

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 3337879, (-230,745), root:(952,767),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 3338130, (-230,745), root:(952,767),
    state 0x4, keycode 111 (keysym 0xff55, Prior), same_screen YES,
    XKeysymToKeycode returns keycode: 112
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 3338271, (-230,745), root:(952,767),
    state 0x4, keycode 111 (keysym 0xff55, Prior), same_screen YES,
    XKeysymToKeycode returns keycode: 112
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4600001,
    root 0xad, subw 0x0, time 3338585, (-230,745), root:(952,767),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
dolk
Inlägg: 137
Blev medlem: 07 mar 2010, 11:51
OS: Ubuntu

Re: ctrl + pilupp = pgup, går det?

Inlägg av dolk »

Tack så jättemycket.

Jag ska gå igenom den här tråden i lugn och ro och försöka tolka vad som gjorts.

Vad tror du gjorde att det helt plötsligt fungerade?

Nu ska vi se om det överlever boot.
Skriv svar

Återgå till "Skrivbordet"