cht電腦資訊gcin
adm Find login register

gcin和xmodmap

Guest
1 gcin和xmodmap
Promote 0 Bookmark 02010-06-05quote  

最近在arch linux下安裝了gcin,並且依據這裡的建議profile.d下加入了gcin.sh的腳本。一切都還OK,不過因為個人工作的關係,有輸入歐洲語言的需求,如ß, é等字母。我知道修改keyboard layout也可以達成我輸入這些字母的目的,但我比較習慣使用組合鍵(compose key)。因此,我嘗試用xmodmap來修改mapping,如:

xmodmap -e "keycode 108 = Multi_key"

但結果卻是失敗的。我用xev來確定我的108鍵有正確的映到Multi_key。後來試了一下,才發現如果我系統一開始不載入gcin的話,組合鍵就可以順利的使用,可是如果載入gcin的話,這組合鍵的功能就會失效了。我不是很清楚原因,但我想問題會不會是出現在XMODIFIERS這個變數。

我想請教的是,有沒有辦法在使用gcin的情況下,同時使用組合鍵。如果可以的話,想請教該如何設定?

另外還有一個小問題,就是在開機載入系統,關機以及跳到別的tty時,在command line的情況下會出現下列訊息:

load_gtab_list /usr/share/gcin/table/gtab.list
(gcin:3929): Gtk-WARNING ** : cannot open display

基本上這問題是不太,但不知道有沒有辦法消除這個warning?

謝謝

eliu
2 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  

Guest
利的使用,可是如果載入gcin的話,這組合鍵的功能就會失效了。我不是很清楚原因,

是在 gcin 的英文模式試的嗎?

但我想問題會不會是出現在XMODIFIERS這個變數。

這只是用來 connect 輸入法用的

我想請教的是,有沒有辦法在使用gcin的情況下,同時使用組合鍵。如果可以的話,想請教該如何設定?

我用 gnome-keyboard-properties可以設定 layout,compose也可以用,只是必須 restart X server

另外一個辦法是自己定義 .cin,可以參考 greek.cin(ctrl-alt-`)  latin-letters.cin (ctrl-alt-[)

load_gtab_list /usr/share/gcin/table/gtab.list
(gcin:3929): Gtk-WARNING ** : cannot open display

DISPLAY variable 設定錯誤?

edited: 2
eliu
3
Promote 0 Bookmark 02010-06-06quote  
Guest
4 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  
eliu

 是在 gcin 的英文模式試的嗎?

是的。

eliu

我用 gnome-keyboard-properties可以設定 layout,compose也可以用,只是必須 restart X server

另外一個辦法是自己定義 .cin,可以參考 greek.cin(ctrl-alt-`)  latin-letters.cin (ctrl-alt-[)

gnome-keyboard-properties我試過了,也restart X server (ctrl+alt+backspace)。但是對我沒有用。

至於.cin的定義,我不是很清楚,不知道能不能解釋清楚一點?我在我電腦裡只有找到.gtab檔,網站上好像也沒有看到這兩個檔。另外,如果要定義的話,可以定議在EN嗎?如果可以的話,檔名是什麼呢?

eliu

DISPLAY variable 設定錯誤?

老實說,我也不太清楚,對於linux我也是在學中。我輸出了DISPLAY這個變數,結果是
:0.0

這算是設定錯誤嗎?

winlin
5 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  
Guest

 

至於.cin的定義,我不是很清楚,不知道能不能解釋清楚一點?我在我電腦裡只有找到.gtab檔,網站上好像也沒有看到這兩個檔。另外,如果要定義的話,可以定議在EN嗎?如果可以的話,檔名是什麼呢?

 

gcin source裡可以找到目前所有gcin內的gtab輸入法cin檔,
另外,下面這三個連結可能有幫助:

Guest
6 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  
winlin

gcin source裡可以找到目前所有gcin內的gtab輸入法cin檔,
另外,下面這三個連結可能有幫助:

謝謝,我找到.gcin檔了,也大概了解格式了。不過這和我的本義有點差距,因為當初就是不太想只是為了打其中一個字母,而要轉換輸入法,所以才會想說用組合鍵。我再研究看看。

eliu
7
Promote 0 Bookmark 02010-06-06quote  
winlin
8 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  
Guest

 

謝謝,我找到.gcin檔了,也大概了解格式了。不過這和我的本義有點差距,因為當初就是不太想只是為了打其中一個字母,而要轉換輸入法,所以才會想說用組合鍵。我再研究看看。

意思是說,想要一邊用「某中文輸入法」一邊也可以利用組合鍵來輸出特定字母?

 

如果不是用詞音或內碼的話,可以考慮把下面二個檔案複製到~/.gcin,然後按自己的需求作修改:

  • /usr/share/gcin/table/phrase-ctrl.table
    (↑這個檔案可以自己定義在中文輸入法下,按「ctrl+某鍵」要輸出什麼字元或字串)
  • /usr/share/gcin/table/phrase.table
    (↑這個檔案可以自己定義在中文輸入法下,按「alt+shift+某鍵」要輸出什麼字元或字串)
    (↑這個方法詞音也可用)

 

另外,提供一個不是組合鍵,但也算是相當便利的方法(詞音與內碼不適用):
gcin設定→倉頡/行列/嘸蝦米/大易設定→ 「編輯內定輸入法的使用者外加字詞」,
這個地方可以自己定義某字元或字串的拆法,
例如:在這個檔案裡加上一行「zg ğ」,以後我在中文輸入法中拆碼「zg」就能輸出「ğ」了,以此類推。

edited: 1
eliu
9
Promote 0 Bookmark 02010-06-06quote  

我用 spanish keyboard 測試時發現有副作用, -=0等鍵位置會被改掉,會造成注音鍵盤的錯誤。

Guest
10 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  
winlin

 

意思是說,想要一邊用「某中文輸入法」一邊也可以利用組合鍵來輸出特定字母?

我本來的想法是希望不要有太多的layout,不然的話一個系統有那麼多的"輸入法"只是為了特定語言,個人覺得麻煩。再加上歐洲語系(主要是西歐),如果只是偶爾使用的話,個人覺得其實是不需要為了打,比如 德文、法文,還特地換鍵盤。所以當初是想說,保持美式英語(+組合鍵)以及中文輸入法即可。因為在Mac也是如此設計,個人也覺得如此比較簡潔。完全沒有想過想要一邊用「某中文輸入法」一邊也可以利用組合鍵來輸出特定字母?這樣的問題,不過這也倒是可以思考的方向。目前因為還找不到合適的解決方案,所以暫時先將鍵盤設為USA International(AltGr dead keys)來使用。

另外再請教一個問題:請問有"En輸入法"的.gcin存在嗎?吐舌頭我在想,如果有的話,我可以直接改成適合我需求的組合鍵mapping來取代原來的英文鍵盤。如此一來,當我按Alt_R(放開)+"(放開)+u -> ü,這樣等同compose key的功能。不過我看了一下data資料夾下,好像沒有en.gcin類似的檔。

eliu
11 gcin和xmodmap
Promote 0 Bookmark 02010-06-06quote  
Guest
另外再請教一個問題:請問有"En輸入法"的.gcin存在嗎
ctrl-space 直接切到 gcin 的 En (english) 模式
Guest
12 gcin和xmodmap
Promote 0 Bookmark 02010-06-07quote  

eliu
ctrl-space 直接切到 gcin 的 En (english) 模式

謝謝。我想知道的是,gcin的En模式是抓系統的key mapping嗎?有辦法自己remap鍵盤嗎?

回到原問題點,我用xmodmap將我的右Alt鍵對應到Multi_key。理論上就可以用右Alt鍵當組合鍵來輸入一些西歐字母,可是當gcin執行時卻無效,可是當我unload gcin時,我的右Alt鍵就可以拿來當組合鍵輸入西歐字母了。

eliu
13
Promote 0 Bookmark 02010-06-07quote  
Guest
14
Promote 0 Bookmark 02010-06-08quote  

eliu
試試 gcin-1.5.0.pre9

剛在64bit archlinux嘗試安裝,可惜安裝完後切換不能,而且在切換時icon會不見。後來又再換回來1.4.6版。

Guest
15
Promote 0 Bookmark 02010-10-13quote  

eliu
試試 gcin-1.5.0.pre9

回報一下目前的情況:

目前使用 ver. 1.5.6版。不過還是無法使用remap過後的Multi_key來輸入一些ü、ß等字母。

coolcd
16
Promote 0 Bookmark 02010-10-25quote  

有點奇怪,我把右邊的 alt 改成 Multi_key,xev 可以抓到 alt_r 確實是 Multi_key,但卻無法行使 Multi_key 的功能。

(在 awesome window manager 測試的)

Guest
17
Promote 0 Bookmark 02010-10-25quote  

coolcd

有點奇怪,我把右邊的 alt 改成 Multi_key,xev 可以抓到 alt_r 確實是 Multi_key,但卻無法行使 Multi_key 的功能。

(在 awesome window manager 測試的)

沒錯,這也是我的問題所在。

swommidi
18
Promote 0 Bookmark 02014-07-29quote  

我也有一樣的狀況:需要輸入許多歐洲語言的特殊符號(環境:Debian testing + Gnome shell 3.10 + gcin 2.82),但是gcin(包括在en狀態下) 跟 compose key 以及dead key不能共存。

我的解決辦法是,當要輸入歐洲語文符號時(通常是一些句子或短文),開一個把gcin關掉的文字編輯器:

 

export GTK_IM_MODULE=simple
export QT_IM_MODULE=simple
export XMODIFIERS="@im=simple"
leafpad $1

這時不能打中文,但是compose key跟dead key都能用。文字打好後,再貼回文章裡。

這不是最好的解決辦法,但是可以工作。使用 latin letters輸入法行不通,因為比如希臘文的組合鍵太多了,有的要三個以上按鍵序列才拼出一個字元。

理想狀況是,在gcin啟用的狀況下(比如在en輸入狀態下),可以直接使用compose key,或者至少可以一鍵切換到一個能夠使用compose key的狀態。那樣的話,gcin對我來說就變得超完美了。

cht電腦資訊gcin
adm Find login register
views:49364