Skip to main content

Thread: Change Key Bindings for Modifier Character in Keyboard layout


xmodmap -- change unicode key bindings dead_acute dead_acute unicode binding


not have problem in ms windows!!! grrr)

use ubuntu 10.04, openoffice 3.02 , need able write correctly in ancient greek. keyboard layout model set dell precisionm65 (i have dell inspiron 9400 laptop, dell precisionm65 list exact match keyboard -- exact model not appear, other keyboards not right or respond 100% or match keyboard layout 100%). have 2 keyboard layouts: usa , greece polytonic. switch between keyboard layouts using ctrl+shift, in case matters.

recently, downloaded awesome ancient greek spellchecker, takes care of hassle in mistakes concerning diacritics (diacritics little symbols on top of vowels, such commonly know as: acute accent, acute grave, etc, known classicists daseia, psili, oxia, baria, perispomene, upogegrammene, dialytika, etc.).

however, noticed diacritic associated oxia (the acute accent -- looks tiny frontslash on top of vowel) computer outputs, not correct, results in spell checker "seeing" words spelled correctly incorrect. on closer inspection 1 notices supposed outputed oxia not bound keys supposed to, computer outputs tonos instead (this happening on every single linux xomputer have gotten hands on since discovered problem , asked friends). difference goes far beyond simple issue of making typing of words "appear" correct, or suitable spellchecker, settings correct way. matter of setting operating system output key bindings correctly, , matters educational reasons, when typing serious texts, because tonos , oxia may similar, not same.

in ancient greek, oxia used signify high pitch in pronunciation of word. in modern greek, tonos used signify stress in pronunciation of word. difference between 2 in writing: oxeia literally tiny frontslash on vowel, while tonos vertical line on vowel. must corrected. reason when type oxia using greek polytonic keyboard layout, tonos. either keys incorrectly bound, or overrides somehow.

visual reference, common diacritics are:

1. oxia: ά
2. baria:
3. perspomene:
4. psili:
5. daseia:
6. upogegramene:

, combinations of these.

first example above concerns , in specific case. seems fine @ first glance. compare 1. (oxia) "/" against 2. "\" (baria); #2. correct, , #1 should slanted #2 , in opposite direction, right. instead, system picks input greek polytonic layout , outputs tonos "|" (straight down) in place of oxia "/". letter alpha different!!!

here's catch: when type combination of diacritic contains oxia, system outputs oxia correctly, , not give me tonos on vowel!

(alpha psili , oxia) u+1ffd greek oxia (plus psili plus alpha) (combination of psili & oxia)

ά (alpha oxia)
u+0301 combining acute accent or u+00b4 acute accent (plus alpha) (no combination of diacritics)

(the unicode numbers above refer accent/oxia not whole character (accent/oxia , character), because accents/oxia modifiers, since dead keys)

there problem keyboard bindings! mapping correct. should call u+1ffd greek oxia instead o fu+0301 combining acute accent or u+00b4 acute accent when press corresponding key.
------------------------------------------------------------------------------------------------

after digging around, managed far here, i'm stuck. appreciated.

want change kecode keymap specific key calls unicode tonos/acute_accent calls unicode oxeia, not affect usa keyboard layout. can change keymap settings 1 one or replace things inside keysymdef.h.?

character greek polytonic keyboard layout has assigned output of oxia key : ; left of enter key.
produces u+0301 combining acute accent or u+00b4 acute accent instead of u+1ffd greek oxia using greek polytonic keyboard layout, after vowel keyed in, leads computer make use of unicode bindings associated tonos, not oxia, unfortunately. said, if diacritic typed in on vowel tonos or oxia, (such (psili, apostrophe), or daseia (an apostrophe in oposite direction) or whatever), correct unicode block evoked, , tonos appears correctly oxia. reference, have found tonos in first unicode block, while oxia tin second unicode block.

--------------------------------------------------------------------------------------------

in case, key bindings want change, key has following 2 symbols on it, (if use usa keyboard layout): : ; left of enter key, mentioned earlier.
so, here goes:
1. have identified keymap code : ; key. mine happens number 47, (after using xev in terminal).

keyrelease event, serial 36, synthetic no, window, 0x50000001,
root 0x108, subw 0x0, time 6205231, (65, 109), root: (1102,635),
state 0x0, keycode 47 (keysym 0x3b, semicolon), same_screen yes,
xlookupstring gives 1 bytes: (3b) ";"
xfilterevent returns: false


typed in terminal:
xmodmap -pke | grep 47

, terminal returns:

keycode 47 = semicolon colon dead_acute dead_abovecomma leftsinglequotemark minutes leftsinglequotemark
keycode 147 = xf86menukb nosymbol xf86menukb
keycode 247 =

basically, after reading around found out list see tells me key 47 following bindings present, in sequence of level/modifier:

semicolon (regular keystroke)
colon
(shift+ keystroke)
dead_acute (altgr+ keystroke)
dead_abovecomma (altgr+shift+ keystroke)
leftsinglequotemark
minutes
leftsinglequotemark


fifth, sixth , seventh level not know... thought keyboards had 4 levels of modifiers (typewriters had 2 (regular , shift)...so still learning.. .i wonder how 3 levels accessed... anyway...).

assume greek polytonic accesses dead_acute , dead_abovecomma particular key though first , second level (because when have switched greek polytonic keyboard layout, if press key not semicolon, acts dead key, , if press shift , key dead-above comma.... wonder how keyboard layout change goes 2 levels up. anyway. fiddled around trying change list output oxia. after reading around internet, found out can give direct unicode number instead of "mnemonic" name. changes appear immediate.


then, after figure out, supposed able put oxeia in third level of symbols replace dead_acute first semicolon, colon, oxeia, dead_above comma.
(or supposed go secret hidden file somewhere , tell xmodmap when thinks calling dead_acute, should call oxia instead???), in case,
opened terminal , typed:

xmodmap -e 'keycode 47 = semicolon, colon, u1ffd dead_abovecomma'


but not work!!! whenever press key not dead key!!!! displays oxia immediately!!! did change t dead_acute oxia, how can make oxia dead_acute or dead???!
how can make see u1ffd dead key?
in character map it says oxia u1ffd dead key/modifier. going on??


want change output greek polytonic keyboard layout!!! or perhaps want change binding 1 key on greek polytonic keyboard layout

(where file keyoboard layout saved in ubuntu? , how access keysymdef.h or it? , how change it??

is there way this, affects greek polytonic keyboard layout , not usa keyboard layout, , "xxxxx_xxxx" (see below) calls polytonic unicode character called oxia, found in second unicode block, known u+1ffd greek oxia :


xmodmap -e 'keycode 47 = semicolon, colon, xxxxx_xxxx dead_abovecomma leftsinglequotemark '

don't know hell type there, dead_acute didn't work, because evokes tonos!!! need tell whe type dead_acute, calls u1ffd (the oxia). tried typing oxia, , random jarble, returns error (how know oxia called -- what's mnemonic name/code other unicode number u1ffd? not anywhere found in keysymdef.h file can create it? how?). think needs done tell call u+1ffd greek oxia though thinks calling dead_acute, because right dead_acute is calling tonos, possibly u+00b4 acute accent,which don't want!!!


thank taking time read through this.

can provide me appreciated!!!

dimitris.




p.s.1
i installed x11proto-core-dev, ("sudo apt-get install x11proto-core-dev") without quotes. after digging around, found keysym lists need in order assign correct name, mean, call oxeia, call oxia, , kesyms list may have oxeia_greek_unicode, or called funny_looking_frontslash, don't know, looking mnemonic name or number corresponds oxeia. anyway, list should in file: "/usr/include/x11/keysymdef.h" without quotes. there read:

can tell me please (the following instructions in keysymdef.h file)
1. how add 0x01000000 tou+1ffd ? (are these hexadecimal values?) , how type value instead of name (such dead_accent) or whatever xmodmasp key corresponding oxia , not tonos???
2. how update the mappings in src/keybind.c in repo? (what repo? mean repository?) , protocol specification in specs/xprotocol/x11.keysyms mentions in file??? , why?
3. xstringtokeysym() , xkeysymtostring(). , how use them?
4. how change things in file keysymdef.h directly? read somewhere can change keyboard layout file well. found in

in case...
geeez, hate linux...





p.s.2
below have pasted information may need in order able me out.
----------------------------------
characters in question character map reveals problem: unicode considers oxeia , tonos interchangeable/equivalent.
----------------------------------
html code:
ί  u+03af greek small letter iota tonos   general character properties in unicode since: 1.1  unicode category: letter, lowercase canonical decomposition: u+03b9 greek small letter iota + u+0301 combining acute accent   various useful representations utf-8: 0xce 0xaf  utf-16: 0x03af c octal escaped utf-8: \316\257 xml decimal entity: ί   annotations , cross references equivalents:   • u+03b9 greek small letter iota u+0301 combining acute accent  ----------------------------------  ί   u+1f77 greek small letter iota oxia  general character properties  in unicode since: 1.1 unicode category: letter, lowercase  canonical decomposition: u+03b9 greek small letter iota + u+0301 combining acute accent   various useful representations utf-8: 0xe1 0xbd 0xb7 utf-16: 0x1f77  c octal escaped utf-8: \341\275\267 xml decimal entity: ί   annotations , cross references equivalents:   • u+03af greek small letter iota tonos greek small letter iota tonos  ----------------------------------   ´  u+00b4 acute accent (we don't want one, 1 causes problem, found in keysymdef.h)  general character properties  in unicode since: 1.1 unicode category: symbol, modifier   various useful representations utf-8: 0xc2 0xb4  utf-16: 0x00b4 c octal escaped utf-8: \302\264 xml decimal entity: ´   annotations , cross references notes:   • spacing character  see also:   • u+02b9 modifier letter prime  • u+02ca modifier letter acute accent   • u+0301 combining acute accent  • u+2032 prime   approximate equivalents:  • u+0020 space u+0301 combining acute accent  ----------------------------------   *́ u+0301 combining acute accent  (we don't want one, 1 causes problem, found in  keysymdef.h) (ignore asterisk, don't know why comes there -  can't remove it)   general character properties in unicode since: 1.1  unicode category: mark, non-spacing  various useful representations  utf-8: 0xcc 0x81 utf-16: 0x0301   c octal escaped utf-8: \314\201 xml decimal entity: ́   annotations , cross references alias names:   • stress mark  • greek oxia, tonos   see also:  • u+0027 apostrophe  • u+00b4 acute accent   • u+02b9 modifier letter prime  • u+02ca modifier letter acute accent   • u+0384 greek tonos ----------------------------------  ´  u+1ffd greek oxia (we want one, 1 spellchecker recognizes, not found in keysymdef.h)  general character properties  in unicode since: 1.1 unicode category: symbol, modifier   various useful representations utf-8: 0xe1 0xbf 0xbd  utf-16: 0x1ffd  c octal escaped utf-8: \341\277\275  xml decimal entity: ´ annotations , cross references   equivalents:  • u+00b4 acute accent acute accent (obviously not equivalent!!! duh, way go unicode people...)  (we want 1 above. simple test proves (i opened  openoffice , typed  word ὑγεία using extended greek special  characters insert  character menu (not keyboard) ,  spellchecker found  correct). ----------------------------------  ˊ u+02ca modifier letter acute accent (might work, not sure, depends)   general character properties in unicode since: 1.1  unicode category: letter, modifier  various useful representations  utf-8: 0xcb 0x8a utf-16: 0x02ca c octal escaped utf-8: \313\212  xml decimal entity: ˊ  annotations , cross references  notes:  • high-rising tone (ipa), high tone, primary stress   • mandarin chinese second tone

ok, tried

html code:
xmodmap -e 'keycode 47 = semicolon, colon, u1ffd dead_abovecomma leftsinglequotemark '
it seems have do, , sure output oxia when use polytonic greek keyboard but

not dead key anymore!!!! love of god. outputs oxia type key. how can make dead key???

guys please, ideas??? anyone?? please!!!


Forum The Ubuntu Forum Community Ubuntu Official Flavours Support General Help [ubuntu] Change Key Bindings for Modifier Character in Keyboard layout


Ubuntu

Comments

Popular posts from this blog

How to change text Component easybook reloaded *newbee* - Joomla! Forum - community, help and support

After Effect warning: A problem occurred when processing OpenGL commands

Preconditions Failed. - Joomla! Forum - community, help and support