設定鍵盤屬性

2021-05-24 00:31:08 字數 1681 閱讀 8898

所以回到

main

函式中,繼續走,下乙個該執行

keyboard_set_repeat()

函式了。

59/*

60 * set the keyboard repeat rate to maximum.unclear why this

61 * is done here; this might be possible to kill off as stale code.

62 */

63static void keyboard_set_repeat(void)

64 70

這個函式不需要多說,就是觸發

bios

的第16

號中斷。這個中斷的引數來自於

ireg的ax

暫存器,該引數的值為

0x0305

,其作用為設定鍵盤重複延時和速率。從注釋我們可以看出,寫**的人也不明白為什麼這個時候要觸發這麼乙個中斷,估計是為了與老**相容吧。

繼續走,來看

main

中的query_mca()

函式。這個函式來自

arc/x86/boot/mca.c

:18int query_mca(void)

19 在「

bios

系統服務

——雜項系統服務」一篇博文中

我們知道,

bios的15

號服務程式用於讀取系統環境,這裡的

query_mca()

函式中執行

25行**後,

oreg

中的暫存器就有了博文中「配置表的位址(

es:bx

)」,再通過

30行將

fs暫存器的值設為

es,即配置表位址的基位址,內部變數

len為配置表位址的偏移量。最後將系統環境配置表的內容拷貝到

boot_params

的sys_desc_table中。在

main

函式裡接下來乙個過程是

query_ist

函式,位於

main

函式同乙個檔案中:

71/*

72 * get intel speedstep (ist) information.

73 */

74static void query_ist(void)

75 該函式同樣是利用第15號

bios

服務程式,得到

intel

的ist

資訊。分別儲存在

boot_params

的ist_info

的四個欄位中。

main.c

的隨後兩個函式

query_apm_bios()

和query_edd()

涉及到apm

和edd

的內容,執行過程也與

query_ist

差不多,分別填充了的

boot_params

的apm_bios_info

字段、edd_mbr_sig_buf_entries

欄位和eddbuf_entries

字段,所以我們也就不細講了。

設定dvorak鍵盤

vi etc locale.conf預設配置檔案中只有lang這一項,還可以新增以下專案 選項描述 lang 提供系統區域設定的預設值。lc collate 更改比較本地字母表中的字串的函式的行為。lc ctype 更改字元處理和分類函式以及多位元組字元函式的行為。lc numeric 描述通常列印...

鍵盤的相關設定

一 鍵盤風格 uikit框架支援8種風格鍵盤。typedefenumuikeyboardtype 用法用例 textview.keyboardtype uikeyboardtypenumberpad 二 鍵盤外觀 typedefenumuireturnkeytype 用法用例 textview.re...

鍵盤樣式風格設定

一 鍵盤風格 uikit框架支援8種風格鍵盤。typedefenumuikeyboardtype 用法用例 textview.keyboardtype uikeyboardtypenumberpad 二 鍵盤外觀 typedefenumuireturnkeytype 用法用例 textview.re...