Esperanto keyboard layout
'Forum Post
ulist at gs1.ubuntuforums.org
Wed Dec 28 08:32:38 UTC 2005
Sal, Peep Pullerits!
Mi ankoraŭ ne provis uzi Esperanton en Ubuntu, sed mencii, ke dum
instalo ebals elekti E-on. Ĉu vi provis tion? Mi scivolas.
Nur por informi vin: OOo2 sub Ubuntu senprobleme subtenas E-on: eblas
literumi e-ajn tekstojn. Nur, tre bedaŭrinde, la fasadtiparo de
OOo2 ne enhavas ĉapeligitaĵojn: kiam mi vokas kuntekstan
menuon pri malĝuste literumita vorto, OOo2 proponas vortojn kun
spacetoj anstataŭ ŝŭĥĵĝĉ. T.e., se
mi skribas «kacxo», OOo2 proponas «ka<spaceto>o»,
sed, tamen, se mi ĝin elektos, korekte enigas
«kaĉo».
Interalie, por OOo Writer eblas krei «makroon» por tajpi sen
specifa klavaranĝo:
Code:
--------------------
REM Author:Leston Buell [bulbul at ucla.edu]
Global oComposerDocView
Global oComposerKeyHandler
Global oComposerInputString
Sub Compose
oComposerDocView = ThisComponent.getCurrentController
oComposerKeyHandler = createUnoListener( "Composer_", _
"com.sun.star.awt.XKeyHandler" )
oComposerDocView.addKeyHandler( oComposerKeyHandler )
oComposerInputString = ""
End Sub
Sub ExitCompose
oComposerDocView.removeKeyHandler( oComposerKeyHandler )
oComposerInputString = ""
End Sub
Function InsertString( oString, oDocView, oKeyHandler )
Dim oViewCursor
Dim oText
Dim oCursor
oViewCursor = ThisComponent.getCurrentController().getViewCursor()
oText = ThisComponent.getText()
oCursor = oText.createTextCursorByRange( oViewCursor.getStart() )
'For some reason, the text insertion refires the key events (twice!),
'so we remove the handler before insertion, then re-add it afterwards.
oDocView.removeKeyHandler( oKeyHandler )
oText.insertString( oCursor.getStart(), oString, true )
oDocView.addKeyHandler( oKeyHandler )
End Function
Function Composer_keyPressed( oEvt ) as Boolean
If len( oComposerInputString ) = 1 Then
oComposerInputString = oComposerInputString & oEvt.KeyChar
Dim translation
translation = GetTranslation( oComposerInputString )
InsertString( translation, oComposerDocView, oComposerKeyHandler )
oComposerInputString = ""
ExitCompose
Else
oComposerInputString = oComposerInputString & oEvt.KeyChar
End If
Composer_KeyPressed = True
End Function
Function Composer_keyReleased( oEvt ) as Boolean
Composer_keyReleased = False
End Function
Function GetTranslation( oString ) as String
Select Case oString
Case "^C", "Ch", "Cx"
GetTranslation = "Ĉ"
Case "^c", "ch", "cx"
GetTranslation = "ĉ"
Case "^G", "Gh", "Gx"
GetTranslation = "Ĝ"
Case "^g", "gh", "gx"
GetTranslation = "ĝ"
Case "^H", "Hh", "Hx"
GetTranslation = "Ĥ"
Case "^h", "hh", "hx"
GetTranslation = "ĥ"
Case "^J", "Jh", "Jx"
GetTranslation = "Ĵ"
Case "^j", "jh", "jx"
GetTranslation = "ĵ"
Case "^S", "Sh", "Sx"
GetTranslation = "Ŝ"
Case "^s", "sh", "sx"
GetTranslation = "ŝ"
Case "uU", "Uh", "Ux"
GetTranslation = "Ŭ"
Case "uu", "uh", "ux"
GetTranslation = "ŭ"
End Select
End Function
--------------------
Do, instalu la makroon kaj — mi konsilas — difinu iun
tujaĵon por ĝi, ekz., Ctrl+H. Poste eblos tapji tiamaniere:
Ctrl+H, S, x -donos- Ŝ. Ktp.
--
esperantisto
More information about the ubuntu-users
mailing list