日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 使用xmodmap禁用键盘按键(禁用Linux快捷键)

發(fā)布時(shí)間:2023/12/20 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 使用xmodmap禁用键盘按键(禁用Linux快捷键) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近在Linux中用QT做項(xiàng)目,開發(fā)一個(gè)全屏軟件運(yùn)行在公司的設(shè)備上,系統(tǒng)是統(tǒng)信UOS Linux系統(tǒng),設(shè)備開機(jī)后會(huì)立即進(jìn)入軟件,且沒有權(quán)限不允許用戶進(jìn)入Linux后臺(tái)。

但有點(diǎn)麻煩,大家都知道,在Linux中,可以按快捷鍵 Ctrl + Alt + (F1 - F6) ,會(huì)進(jìn)入黑屏終端,在這個(gè)黑屏終端就可以使用命令將軟件強(qiáng)制關(guān)閉(kill);或者按快捷鍵 Ctrl + Alt + T 可以打開終端窗體,終端就可以使用命令將軟件強(qiáng)制關(guān)閉;或者按快捷鍵 Ctrl + Alt + Delete 可以進(jìn)入關(guān)機(jī)選項(xiàng)界面,可以調(diào)出UOS的后臺(tái)任務(wù)管理器…

這些都是不允許的,所以我在網(wǎng)上找,有什么方式可以禁用統(tǒng)信UOSLinux系統(tǒng)的快捷鍵,找了很久,沒有找到相關(guān)的解決方法;但是找到可以使用xmodmap去修改按鍵和禁用按鍵,感覺可行,于是自己親自嘗試后發(fā)現(xiàn)也可以行,于是記錄下來!


  • Ctrl + Alt + (F1 - F6)
    黑屏終端演示圖:

  • Ctrl + Alt + T
    終端演示圖:

  • Ctrl + Alt + Delete
    進(jìn)入關(guān)機(jī)選項(xiàng)界面

  • 存在以上的行為,對(duì)系統(tǒng)都是挺危險(xiǎn)的,所以,得禁用這些快捷鍵!


    1. xmodmap 是什么?

    貌似是可以修改鍵盤映射和鼠標(biāo)映射的命令…

    查看keycode命令:
    xmodmap -pke



    等等一共有255個(gè)。

    每個(gè)keycode對(duì)應(yīng)一個(gè)鍵盤按鍵。

    禁用鍵盤按鍵需要用到這些keycode。

    2. 禁用

    使用命令:
    xmodmap -e 'keycode 數(shù)字 = '
    暫時(shí)禁用鍵盤按鍵!

    例如:
    我在項(xiàng)目中禁用Alt鍵和F1 - F12鍵

    首先找到左Alt鍵和右Alt鍵


    代碼命令禁用左Alt鍵和右Alt鍵:

    xmodmap -e 'keycode 64 = ' // 禁用左Alt鍵 xmodmap -e 'keycode 108 = ' // 禁用右Alt鍵

    讓其等于空即可!(直接在終端運(yùn)行命令即可)

    我是在Linux下QT操作的,所以我可以使用C/C++的函數(shù)system()去調(diào)用命令:

    // 暫時(shí)禁用Alt鍵 system("xmodmap -e 'keycode 64 = '"); // key Alt as Left system("xmodmap -e 'keycode 108 = '"); // key Alt as Right

    執(zhí)行完之后,按鍵盤Alt鍵就沒有反應(yīng)了,可以測(cè)試快捷鍵Ctrl + Alt + F2,會(huì)發(fā)現(xiàn)這個(gè)快捷鍵沒法使用了!
    使用了取巧的方式進(jìn)行禁用快捷鍵!(沒辦法,網(wǎng)上找不到禁用統(tǒng)信UOS系統(tǒng)的快捷鍵方法)

    但是,使用這種方式有一個(gè)小缺點(diǎn),就是重啟系統(tǒng)后,他就會(huì)自動(dòng)恢復(fù)了!

    這個(gè)我看網(wǎng)上有教程說可以將命令寫入一個(gè)什么什么文件,就可以實(shí)現(xiàn)開機(jī)自動(dòng)調(diào)用進(jìn)行禁用了,具體我沒試過喔…

    禁用F1 - F12:

    system("xmodmap -e 'keycode 67 = '"); system("xmodmap -e 'keycode 68 = '"); system("xmodmap -e 'keycode 69 = '"); system("xmodmap -e 'keycode 70 = '"); system("xmodmap -e 'keycode 71 = '"); system("xmodmap -e 'keycode 72 = '"); system("xmodmap -e 'keycode 73 = '"); system("xmodmap -e 'keycode 74 = '"); system("xmodmap -e 'keycode 75 = '"); system("xmodmap -e 'keycode 76 = '"); system("xmodmap -e 'keycode 95 = '"); system("xmodmap -e 'keycode 96 = '");

    3. 恢復(fù)

    手動(dòng)恢復(fù)!

    調(diào)用命令:
    xmodmap -e 'keycode'
    恢復(fù)鍵盤按鍵!

    keycode:上面截圖等號(hào)右邊那些字符串!

    例如:
    恢復(fù)左Alt鍵和右Alt鍵命令:

    xmodmap -e 'keycode 64 = Alt_L Meta_L Alt_L Meta_L' xmodmap -e 'keycode 108 = Alt_R Meta_R Alt_R Meta_R'

    代碼恢復(fù):

    system("xmodmap -e 'keycode 64 = Alt_L Meta_L Alt_L Meta_L'"); system("xmodmap -e 'keycode 108 = Alt_R Meta_R Alt_R Meta_R'");

    這樣就可以實(shí)現(xiàn)恢復(fù)操作了,然后可以測(cè)試快捷鍵Ctrl + Alt + F2,可以發(fā)現(xiàn),又可以正常進(jìn)入黑屏終端了!

    恢復(fù)F1 - F12鍵:

    system("xmodmap -e 'keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1'"); system("xmodmap -e 'keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2'"); system("xmodmap -e 'keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3'"); system("xmodmap -e 'keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4'"); system("xmodmap -e 'keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5'"); system("xmodmap -e 'keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6'"); system("xmodmap -e 'keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7'"); system("xmodmap -e 'keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8'"); system("xmodmap -e 'keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9'"); system("xmodmap -e 'keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10'"); system("xmodmap -e 'keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11'"); system("xmodmap -e 'keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12'");

    總結(jié)

    鍵盤禁用,簡(jiǎn)單的用法就是這樣了,其實(shí)xmodmap還有很多高級(jí)用法的,例如鍵盤按鍵調(diào)換,鼠標(biāo)左右點(diǎn)擊調(diào)換等等…

    我在項(xiàng)目中用法:軟件啟動(dòng)就立刻禁用按鍵(快捷鍵),當(dāng)使用權(quán)限正常進(jìn)入后臺(tái)前,就恢復(fù)!
    使用很簡(jiǎn)單,但是卻幫我解決很大的問題!

    總結(jié)

    以上是生活随笔為你收集整理的Linux 使用xmodmap禁用键盘按键(禁用Linux快捷键)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。