• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > linux中如何使用微軟鼠標的第4、5鍵

    linux中如何使用微軟鼠標的第4、5鍵

    作者: 時間:2013-03-14 來源:網絡 收藏

    雖說的人大都對沒什么好感,但不能否認確實也出了不少好東西呀,比如(IE系列) icon_smile.gif IE  2.0和以上版本都有5個按鈕,除了正常的左中右外,兩側還各有一個,在windows中可用來支持瀏覽器的前進/后退功能很是方便。其實在中稍加配置也能完成同樣的功能,為什么不呢?

    本文引用地址:http://www.czjhyjcfj.com/article/148081.htm

    (一)先解釋一下中對按鈕和滾輪的處理。

    在linux中,滾輪被當作兩個按鈕來處理,向上滾是一個,向下滾是另一個。所以以IE2.0為例,一共有7個按鈕:左中右三個,兩側各一個,加上滾輪兩個。

    (二)修改X配置

    首先我們考慮你的機器只有一個的情況,因為我的實驗是在IBM筆記本上進行的,微軟鼠標是我的第二個鼠標(別忘了,筆記本自己還有一個呢),這種多于一個的情況有些復雜,稍后再敘述。

    需要修改的配置文件 /etc/X11/XF86Config,或者 /etc/X11/XF86Config-4,如果兩個都有就改第二個。

    找到關于鼠標的一段,一般是下面這樣的。

    代碼:

    Section InputDevice

    Identifier Mouse0

    Driver mouse

    Option Device /dev/mouse

    Option Protocol IMPS/2

    Option Emulate3buttons no

    Option ZAxisMapping 4 5

    Option Buttons 5

    EndSection

    其中 Identifier 和 Device字段各人的機器會不一樣,我們也不用管它。我們需要修改的是其他字段,修改后的配置如下:

    代碼:

    Section InputDevice

    Identifier Mouse0

    Driver mouse

    Option Device /dev/mouse

    Option Protocol ExplorerPS/2

    Option Emulate3Buttons no

    Option ZAxisMapping 6 7

    Option Buttons 7

    EndSection

    說明:

    Option Device  字段說明鼠標的類型,這里改成微軟鼠標的類型,如果是其它型號的鼠標,比如邏技,只要型號代碼填寫正確也應可行。至于普通的5鍵鼠標,用IMPS/2行不行,我沒試過;

    Option Buttons 字段說明鼠標的按鈕個數,計算方法前面說過了;

    Option ZAxisMapping 字段說明將滾輪映射成哪兩個按鍵,這里也是比較有意的地方,無論你的鼠標有幾個按鈕,正常的情況應該是 4  5。可是X只能認識最后的兩個按鈕為鼠標,所以必須改成6  7,而造成的后果就是:左右兩側的按鈕成了滾輪,滾輪成了兩側的按鈕,不過不要害怕,下面自有辦法解決icon_smile.gif

    (三)重新啟動X

    配置修改好了,重新啟動X,看看我們的成果。在命令行下輸入 xev 進行測試。

    把鼠標移到那個小窗口中,分別按鼠標的各個按鈕和上下滾動滾輪,窗口中應該出現button 1,button 2, ... button  7的字樣。(注意:按下去時沒有,必須釋放才有,這是鼠標的工作原理,呵呵)

    如果你能看到button 1 ... button 7,恭喜即將大功告成了。

    現在我們還要解決滾輪和兩側按鈕倒置的問題。在命令行中輸入

    代碼:

    xmodmap -e pointer = 1 2 3 6 7 4 5

    將倒置的按鈕順序重新“正”過來!至此所有的設置完成,找個支持4、5鍵的流覽器來看看,比如 Firefox 。

    怎么樣,在linux下面,你也能方便的“前進”,“后退”了吧。

    下面再談談其它的問題。

    (一)由于每次啟動X后都需要手工執行xmodmap -e pointer = 1 2 3 6 7 4 5,怎么才能自動執行呢?

    這個本不屬于本文討論的范圍,可考慮到的方便還是,我還是來寫一點吧。

    由于這個命令必須在每次啟動X后執行,將它寫在.bashrc等文件中是沒有用的。有的系統.xinitrc或者.xsession也不行。似乎問題很復雜,不同的linux發型版本和桌面系統都不一樣。

    我以RedHat為例來說一下。

    如果你Gnome,這么做:在自己的目錄下建一個可執行腳本,比如叫mouse.sh

    代碼:

    #!/usr/bin/bash

    xmodmap -e pointer = 1 2 3 6 7 4 5

    保存后別忘了chmod +x mouse.sh

    進入gnome,在設置-〉其它設置 中找到session,把mouse.sh加到啟動程序中即可。

    如果你使用KDE,在自己的目錄下建一個.kdestart文件,同樣寫上

    代碼:

    #!/usr/bin/bash

    xmodmap -e pointer = 1 2 3 6 7 4 5

    即可。

    (二)在多于一個鼠標的系統上(比如IBM筆記本)正確配置呢?

    配置其實是一樣的,可問題在于xmodmap似乎只支持CorePointer,即第一個鼠標,這樣默認的配置,你的微軟鼠標滾輪是左右兩側鍵,“正”不過來了。

    我的解決辦法是人工的禁止筆記本上自帶的那個鼠標,(不知道將USB鼠標設置成CorePointer行不行,我沒試過,嘿嘿)。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    linux相關文章:linux教程




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 曲周县| 吉林市| 阿克| 广东省| 马公市| 额尔古纳市| 洛浦县| 宁海县| 阿荣旗| 涟源市| 鄂托克前旗| 旺苍县| 乌审旗| 鱼台县| 安平县| 怀化市| 三门峡市| 灵寿县| 遂川县| 邻水| 清丰县| 天峨县| 南皮县| 益阳市| 永兴县| 公主岭市| 旺苍县| 宝兴县| 诸城市| 唐河县| 寻乌县| 黔西县| 兴隆县| 斗六市| 拉萨市| 株洲县| 宁晋县| 梁平县| 云霄县| 德保县| 仙桃市|