最近辦公室的電腦換了一張nvidia 9400的顯示卡,
可是搭配上benq FP222WH ,
解析度怎麼調最大都只有640x480, (各種方法都試過了)
後來總算讓我查出是EDID的問題,
原本舊版的nvidia driver有一招是在xorg.conf設定
"IgnoreEDID" "true",
不過我新版的180.51 driver根本不適用這個方法,
後來我研究了快一天,
不過最後研究出來的解決方法倒是很簡單,
放在這提供有需要的人參考,
首先我先去抄ATI顯卡列出的EDID,
然後將它做成一個128 byte 的EDID
HEX file, 我已經做好了所以直接抓這個檔案擺在/etc/x11就可以
http://kalug.linux.org.tw/~tim/benq/benq-c.bin
然後在你的xorg.conf裡加上幾行,
(請自行比對xorg.conf的相異處)
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30.0 - 86.0
VertRefresh 60.0
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
Option "ConnectedMonitor" "DFP"
Option "CustomEDID" "DFP-0:/etc/X11/benq-c.bin"
Option "UseDisplayDevice" "DFP" # DVI out
SubSection "Display"
Viewport 0 0
EndSubSection
EndSection
我的是DVI接頭,
另外一個同事用的是DSUB(VGA) 的,
他說只要DFP改成CRT也可以用,
我們一個是用debian一個是用gentoo,
在預設情形下解析度都是錯誤的,
但是透過這個方法就可以達到原生解析度1680x1050. :)
因為lloyd大大說他可愛的老婆說, 『不要因為便宜而買,然後嫌棄壞掉,還不如買好一點,用久一點來的划算』,於是就買了一支logitech的g5滑鼠, 但是linux下沒有windows上的setpoint driver, 所以就自己來了.
一插上就會自動有的功能包括左右中鍵滾輪上下跟硬體dpi設定,
不過滾輪向左向右水平滾動的功能未啟動,
另外大姆指鍵要自己做一些設定以符合自己的需求.
首先是/etc/X11/xorg.conf的基本配置
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "G5" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "G5"
Driver "evdev"
Option "Name" "Logitech USB Gaming Mouse"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection
再來是啟動大姆指鍵,將Xwindow中鍵貼上(2)功能bind在大姆指鍵(8), 此外預設的滾輪左右(67)是顛倒的(括號中的數字表按鍵編號):
~/.xmodmap
pointer = 1 8 3 4 5 7 6 2 9 10 11 12 13 14 15 16 17 18 19 20
最後則是啟動滾輪向左跟向右,讓他可以直接在我慣用的gnome terminal跟firefox裡移動分頁. 並在gnome-terminal裡將滾輪中鍵貼上的功能換成剪貼簿的貼上(即一般的Ctrl+V而非大姆指key的xwindow中鍵貼上)
~/.xbindkeysrc.scm
(xbindkey '("b:6") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[Page_Up]'")
(xbindkey '("b:7") "/usr/bin/xvkbd -xsendevent -text '\\[Control_L]\\[Page_Down]'")
(xbindkey '("b:8") "/usr/bin/xvkbd -window gnome-terminal -xsendevent -text '\\[Control_L]\\[V]'")
另外還有在firefox中調整滾輪的速度, 首先先在網址頁輸入about:config,
然後找到mousewheel.withnokey.sysnumlines 設為false
mousewheel.withnokey.numlines則設為6行或你喜歡的數字.
如果以下3個套件沒裝的話要另外裝:
x11-misc/xbindkeys x11-misc/xvkbd x11-drivers/xf86-input-evdev
(xbindkeys最好將guile的use flag打開, 若需要預設設定檔可以用xbindkeys -dg > ~/.xbindkeysrc.scm 來初始化 真的看不習慣scheme/lisp的人可以考慮使用基本的config: xbindkeys -d > ~/.xbindkeysrc, 當然scheme設定檔會稍微彈性一點)
另外xmodmap ~/.xmodmap跟xbindkeys要設成在打開xwindows時啟動.
同事跟我說他想把x.org裡滑鼠中鍵貼上的功能改成用滑鼠的右鍵貼上, 雖然我搞不懂為啥會有人想這麼作,但還是有辦法的...
在xorg.conf裡:
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
.....
Option "ButtonMapping" "1 2 2 4 5 6 7 8 9"
EndSection
只要加上ButtonMapping這個選項, 就可以把實體的按鍵跟
邏輯上的按鍵分開來定義,而這個選項的定義方式就是將邏輯上按鈕照實體上的順序排列,而實體上的1通常代表滑鼠左鍵 2代表滑鼠中鍵3代表滑鼠右鍵.
像上例中 "ButtonMapping" "1 2 2 4 5 6 7 8 9"
就是表示將邏輯上的1 2 2 定義到實體上的 1 2 3
也就是將滑鼠實體上的右鍵現在定義了原本滑鼠中鍵貼上的功能
如果要把滑鼠實體中鍵的功能完全取消, 也只要拿一個原本邏輯上未定義的按鈕替換掉即可,
如: "ButtonMapping" "1 9 2 4 5 6 7 8 9"
這樣即可將原本中鍵的功能取消, 並將右鍵變成貼上的功能.
- Page 1 of 1 ( 3 posts )
- x.org









