0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)設(shè)備管理:ohos.multimodalInput.inputDevice 輸入設(shè)備

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-01 09:19 ? 次閱讀

輸入設(shè)備

輸入設(shè)備管理模塊,用于監(jiān)聽輸入設(shè)備連接、斷開和變化,并查看輸入設(shè)備相關(guān)信息。比如監(jiān)聽鼠標(biāo)插拔,并獲取鼠標(biāo)的id、name和指針移動(dòng)速度等信息。

說明開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

import inputDevice from '@ohos.multimodalInput.inputDevice';

inputDevice.on9+

on(type: “change”, listener: Callback): void

監(jiān)聽輸入設(shè)備的熱插拔事件。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
typestring輸入設(shè)備的事件類型。
listenerCallback<[DeviceListener]>可上報(bào)的輸入設(shè)備事件。

示例

let isPhysicalKeyboardExist = true;
inputDevice.on("change", (data) = > {
    console.log("type: " + data.type + ", deviceId: " + data.deviceId);
    inputDevice.getKeyboardType(data.deviceId, (err, ret) = > {
        console.log("The keyboard type of the device is: " + ret);
        if (ret == inputDevice.KeyboardType.ALPHABETIC_KEYBOARD && data.type == 'add') {
            // 監(jiān)聽物理鍵盤已連接。
            isPhysicalKeyboardExist = true;
        } else if (ret == inputDevice.KeyboardType.ALPHABETIC_KEYBOARD && data.type == 'remove') {
            // 監(jiān)聽物理鍵盤已斷開。
            isPhysicalKeyboardExist = false;
        }
    });
});
// 根據(jù)isPhysicalKeyboardExist的值決定軟鍵盤是否彈出。

inputDevice.off9+

off(type: “change”, listener?: Callback): void

取消監(jiān)聽輸入設(shè)備的熱插拔事件。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
typestring輸入設(shè)備的事件類型。
listenerCallback<[DeviceListener]>可上報(bào)的輸入設(shè)備事件。

示例

function listener(data) {
    console.log("type: " + data.type + ", deviceId: " + data.deviceId);
}

// 單獨(dú)取消listener的監(jiān)聽。
inputDevice.off("change", listener);

// 取消所有監(jiān)聽。
inputDevice.off("change");
// 取消監(jiān)聽后,軟鍵盤默認(rèn)都彈出。

inputDevice.getDeviceIds

getDeviceIds(callback: AsyncCallback>): void

獲取所有輸入設(shè)備的id列表,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
callbackAsyncCallback>回調(diào)函數(shù)。

示例

inputDevice.getDeviceIds((ids)= >{
    console.log("The device ID list is: " + ids);
});

inputDevice.getDeviceIds

getDeviceIds(): Promise>

獲取所有輸入設(shè)備的id列表,使用Promise方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

返回值

參數(shù)說明
Promise>Promise實(shí)例,用于異步獲取結(jié)果。

示例

inputDevice.getDeviceIds().then((ids)= >{
    console.log("The device ID list is: " + ids);
});

inputDevice.getDevice

getDevice(deviceId: number, callback: AsyncCallback): void

獲取輸入設(shè)備的描述信息,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
deviceIdnumber需要獲取信息的設(shè)備id。
callbackAsyncCallback<[InputDeviceData]>回調(diào)函數(shù),異步返回InputDeviceData對(duì)象。

示例

// 示例獲取設(shè)備id為1的設(shè)備name信息。
inputDevice.getDevice(1, (inputDevice)= >{
    console.log("The device name is: " + inputDevice.name);
});

inputDevice.getDevice

getDevice(deviceId: number): Promise

獲取輸入設(shè)備的描述信息,使用Promise方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
deviceIdnumber需要獲取信息的設(shè)備id。

返回值

參數(shù)說明
Promise<[InputDeviceData]>Promise實(shí)例,用于異步獲取結(jié)果。

示例

// 示例獲取設(shè)備id為1的設(shè)備name信息。
inputDevice.getDevice(1).then((inputDevice)= >{
    console.log("The device name is: " + inputDevice.name);
});

inputDevice.supportKeys9+

supportKeys(deviceId: number, keys: Array, callback: Callback>): void

獲取輸入設(shè)備支持的鍵碼值,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
deviceIdnumber輸入設(shè)備的唯一標(biāo)識(shí),同一個(gè)物理設(shè)備反復(fù)插拔,其設(shè)備id會(huì)發(fā)生變化。
keysArray需要查詢的鍵碼值,最多支持5個(gè)按鍵查詢。
callbackCallback>回調(diào)函數(shù),異步返回查詢結(jié)果。

示例

// 示例查詢id為1的設(shè)備對(duì)于17、22和2055按鍵的支持情況。
inputDevice.supportKeys(1, [17, 22, 2055], (ret)= >{
    console.log("The query result is as follows: " + ret);
});

inputDevice.supportKeys9+

supportKeys(deviceId: number, keys: Array): Promise>

獲取輸入設(shè)備支持的鍵碼值,使用Promise方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
deviceIdnumber輸入設(shè)備的唯一標(biāo)識(shí),同一個(gè)物理設(shè)備反復(fù)插拔,其設(shè)備id會(huì)發(fā)生變化。
keysArray需要查詢的鍵碼值,最多支持5個(gè)按鍵查詢。

返回值

參數(shù)說明
Promise>Promise實(shí)例,用于異步獲取結(jié)果。

示例

// 示例查詢id為1的設(shè)備對(duì)于17、22和2055按鍵的支持情況。
inputDevice.supportKeys(1, [17, 22, 2055]).then((ret)= >{
    console.log("The query result is as follows: " + ret);
})

inputDevice.getKeyboardType9+

getKeyboardType(deviceId: number, callback: AsyncCallback): void

查詢輸入設(shè)備的鍵盤類型,使用callback方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

參數(shù)

參數(shù)類型必填說明
deviceIdnumber輸入設(shè)備的唯一標(biāo)識(shí),同一個(gè)物理設(shè)備反復(fù)插拔,其設(shè)備id會(huì)發(fā)生變化。
callbackAsyncCallback<[KeyboardType]>回調(diào)函數(shù),異步返回查詢結(jié)果。

示例

// 示例查詢?cè)O(shè)備id為1的設(shè)備鍵盤類型。
inputDevice.getKeyboardType(1, (ret)= >{
    console.log("The keyboard type of the device is: " + ret);
});

inputDevice.getKeyboardType9+

getKeyboardType(deviceId: number): Promise

查詢輸入設(shè)備的鍵盤類型,使用Promise方式作為異步方法。

系統(tǒng)能力 :SystemCapability.MultimodalInput.Input.InputDevice

返回值

參數(shù)說明
Promise<[KeyboardType]>Promise實(shí)例,用于異步獲取結(jié)果。

示例

// 示例查詢?cè)O(shè)備id為1的設(shè)備鍵盤類型。
inputDevice.getKeyboardType(1).then((ret)= >{
    console.log("The keyboard type of the device is: " + ret);
})

DeviceListener9+

輸入設(shè)備的描述信息。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
type[ChangedType]表示輸入設(shè)備插入或者移除。
deviceIdnumber輸入設(shè)備的唯一標(biāo)識(shí),同一個(gè)物理設(shè)備反復(fù)插拔,其設(shè)備id會(huì)發(fā)生變化。

InputDeviceData

輸入設(shè)備的描述信息。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
idnumber輸入設(shè)備的唯一標(biāo)識(shí),同一個(gè)物理設(shè)備反復(fù)插拔,其設(shè)備id會(huì)發(fā)生變化。
namestring輸入設(shè)備的名字。
sourcesArray<[SourceType]>輸入設(shè)備支持的源類型。比如有的鍵盤上附帶觸摸板,則此設(shè)備有keyboard和touchpad兩種輸入源。
axisRangesArray<[AxisRanges]>輸入設(shè)備的軸信息。
bus9+number輸入設(shè)備的總線類型。
product9+number輸入設(shè)備的產(chǎn)品信息。
vendor9+number輸入設(shè)備的廠商信息。
version9+number輸入設(shè)備的版本信息。
phys9+string輸入設(shè)備的物理地址。
uniq9+string輸入設(shè)備的唯一標(biāo)識(shí)。

AxisType9+

輸入設(shè)備的軸類型。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
touchMajorstring表示touchMajor軸。
touchMinorstring表示touchMinor軸。
toolMinorstring表示toolMinor軸。
toolMajorstring表示toolMajor軸。
orientationstring表示orientation軸。
pressurestring表示pressure軸。
xstring表示x軸。
ystring表示y軸。
NULLstring無。

AxisRange

輸入設(shè)備的軸信息。

系統(tǒng)能力 : 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
source[SourceType]軸的輸入源類型。
axis[AxisType]軸的類型。
maxnumber軸的最大值。
minnumber軸的最小值。
fuzz9+number軸的模糊值。
flat9+number軸的基準(zhǔn)值。
resolution9+number軸的分辨率。

SourceType

定義這個(gè)軸的輸入源類型。比如鼠標(biāo)設(shè)備可上報(bào)x軸事件,則x軸的源就是鼠標(biāo)。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
keyboardstring表示輸入設(shè)備是鍵盤。
touchscreenstring表示輸入設(shè)備是觸摸屏。
mousestring表示輸入設(shè)備是鼠標(biāo)。
trackballstring表示輸入設(shè)備是軌跡球。
touchpadstring表示輸入設(shè)備是觸摸板。
joystickstring表示輸入設(shè)備是操縱桿。

ChangedType

定義監(jiān)聽設(shè)備熱插拔事件。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
addstring表示輸入設(shè)備插入。
removestring表示輸入設(shè)備移除。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151547.png

KeyboardType9+

定義鍵盤輸入設(shè)備的類型。

系統(tǒng)能力 :以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.MultimodalInput.Input.InputDevice

名稱參數(shù)類型說明
NONEnumber0表示無按鍵設(shè)備。
UNKNOWNnumber1表示未知按鍵設(shè)備。
ALPHABETIC_KEYBOARDnumber2表示全鍵盤設(shè)備。
DIGITAL_KEYBOARDnumber3表示小鍵盤設(shè)備。
HANDWRITING_PENnumber4表示手寫筆設(shè)備。
REMOTE_CONTROLnumber5表示遙控器設(shè)備。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2291

    瀏覽量

    42632
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    設(shè)備管理系統(tǒng)軟件有哪些

    設(shè)備管理系統(tǒng)軟件有哪些,下面是 設(shè)備管理軟件功能摘要的NLP顏色標(biāo)記版,歡迎對(duì)比查看素版設(shè)備管理軟件功能摘要,有想法反映留言,謝謝~~預(yù)測(cè)\color{#D2691E}預(yù)測(cè)預(yù)測(cè)性\color
    發(fā)表于 07-12 07:01

    基于.Net框架的設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    設(shè)備管理系統(tǒng)是企業(yè)運(yùn)營(yíng)過程中必不可少的組成部分。本文以中國(guó)教育經(jīng)濟(jì)信息網(wǎng)管理中心設(shè)備管理系統(tǒng)為例,討論了設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),并詳細(xì)討論了基于.Net框架的三
    發(fā)表于 08-28 09:02 ?28次下載

    設(shè)備管理云平臺(tái)是什么?有什么功能?

    設(shè)備管理云平臺(tái):現(xiàn)代化企業(yè)的重要解決方案 隨著科技的迅速發(fā)展和企業(yè)規(guī)模的擴(kuò)大,設(shè)備數(shù)量和種類也隨之增加,設(shè)備管理變得愈加復(fù)雜。傳統(tǒng)的管理方法已經(jīng)無法滿足企業(yè)的需求,而
    的頭像 發(fā)表于 09-20 16:39 ?1335次閱讀

    基于RFID油井設(shè)備管理手持機(jī)的開發(fā)研究

    電子發(fā)燒友網(wǎng)站提供《基于RFID油井設(shè)備管理手持機(jī)的開發(fā)研究.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 09:35 ?0次下載
    基于RFID油井<b class='flag-5'>設(shè)備管理</b>手持機(jī)的<b class='flag-5'>開發(fā)</b>研究

    鴻蒙開發(fā)接口定制管理:【@ohos.enterpriseDeviceManager (企業(yè)設(shè)備管理)】

    以異步方法根據(jù)給定的包名和類名激活設(shè)備管理員應(yīng)用,使用Callback形式返回是否激活成功。
    的頭像 發(fā)表于 06-05 09:24 ?459次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口定制<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.enterpriseDeviceManager (企業(yè)<b class='flag-5'>設(shè)備管理</b>)】

    鴻蒙開發(fā)設(shè)備管理ohos.deviceInfo 設(shè)備信息

    面向特定開發(fā)者發(fā)布的早期預(yù)覽版本,不承諾API穩(wěn)定性。 -?Beta:面向開發(fā)者公開發(fā)布的Beta版本,不承諾API穩(wěn)定性。
    的頭像 發(fā)表于 07-01 16:33 ?432次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos</b>.deviceInfo <b class='flag-5'>設(shè)備</b>信息

    鴻蒙開發(fā)設(shè)備管理ohos.multimodalInput.inputEvent 輸入事件

    InputEvent模塊描述了設(shè)備上報(bào)的基本事件。
    的頭像 發(fā)表于 07-02 17:44 ?191次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos.multimodalInput</b>.inputEvent <b class='flag-5'>輸入</b>事件

    鴻蒙開發(fā)設(shè)備管理ohos.multimodalInput.keyCode 鍵值

    KeyCode模塊提供了按鍵類設(shè)備的鍵值。
    的頭像 發(fā)表于 07-01 22:14 ?248次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos.multimodalInput</b>.keyCode 鍵值

    鴻蒙開發(fā)設(shè)備管理ohos.multimodalInput.keyEvent 按鍵輸入事件

    KeyEvent模塊提供了設(shè)備可以上報(bào)的按鍵事件。
    的頭像 發(fā)表于 07-02 17:25 ?292次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos.multimodalInput</b>.keyEvent 按鍵<b class='flag-5'>輸入</b>事件

    鴻蒙開發(fā)設(shè)備管理ohos.multimodalInput.mouseEvent 鼠標(biāo)輸入事件

    設(shè)備上報(bào)的鼠標(biāo)事件。
    的頭像 發(fā)表于 07-03 09:20 ?239次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos.multimodalInput</b>.mouseEvent 鼠標(biāo)<b class='flag-5'>輸入</b>事件

    鴻蒙開發(fā)設(shè)備管理ohos.multimodalInput.touchEvent 觸摸輸入事件

    設(shè)備上報(bào)的觸屏事件。
    的頭像 發(fā)表于 07-03 09:16 ?233次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos.multimodalInput</b>.touchEvent 觸摸<b class='flag-5'>輸入</b>事件

    鴻蒙開發(fā)設(shè)備管理ohos.usb USB管理

    本模塊主要提供管理USB設(shè)備的相關(guān)功能,包括查詢USB設(shè)備列表、批量數(shù)據(jù)傳輸、控制命令傳輸、權(quán)限控制等。
    的頭像 發(fā)表于 07-05 17:34 ?518次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos</b>.usb USB<b class='flag-5'>管理</b>

    設(shè)備管理系統(tǒng):是什么、誰需要、推薦設(shè)備管理系統(tǒng)

    設(shè)備管理系統(tǒng)(EMS)在企業(yè)管理中愈發(fā)重要。中設(shè)智控設(shè)備管理系統(tǒng)以全生命周期管理為主,涵蓋預(yù)算、采購(gòu)、維護(hù)等功能,支持移動(dòng)端應(yīng)用,降低備件儲(chǔ)備,提高
    的頭像 發(fā)表于 08-01 11:23 ?379次閱讀
    <b class='flag-5'>設(shè)備管理</b>系統(tǒng):是什么、誰需要、推薦<b class='flag-5'>設(shè)備管理</b>系統(tǒng)

    設(shè)備管理流程優(yōu)化的優(yōu)勢(shì)

    設(shè)備管理對(duì)企業(yè)生產(chǎn)效率、產(chǎn)品質(zhì)量、成本控制和安全生產(chǎn)起著關(guān)鍵作用。但設(shè)備管理面臨挑戰(zhàn),如種類繁多、數(shù)量龐大、位置分散等。因此,企業(yè)應(yīng)采用科學(xué)的設(shè)備管理方法,建立設(shè)備管理系統(tǒng),跟蹤
    的頭像 發(fā)表于 09-05 10:34 ?202次閱讀
    <b class='flag-5'>設(shè)備管理</b>流程優(yōu)化的優(yōu)勢(shì)

    基于物聯(lián)網(wǎng)的設(shè)備管理

    物聯(lián)網(wǎng)設(shè)備管理的重要性日益凸顯,設(shè)備數(shù)量激增帶來數(shù)據(jù)泄露風(fēng)險(xiǎn)。加強(qiáng)設(shè)備安全性、軟件升級(jí)與修復(fù)、身份驗(yàn)證和互操作性是關(guān)鍵。物聯(lián)網(wǎng)設(shè)備管理需要跨異構(gòu)設(shè)備
    的頭像 發(fā)表于 09-10 11:04 ?548次閱讀
    基于物聯(lián)網(wǎng)的<b class='flag-5'>設(shè)備管理</b>