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

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

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

調(diào)用安卓的方法獲取鼠標(biāo)指針坐標(biāo)

汽車電子技術(shù) ? 來源:安卓腳本 ? 作者:Mr.Yu ? 2023-03-03 13:43 ? 次閱讀

要搞定外設(shè)鼠標(biāo)點(diǎn)擊屏幕上的指定位置,就需要確定鼠標(biāo)指針在屏幕上絕對坐標(biāo). 理論上HID是可以發(fā)送絕對坐標(biāo)使鼠標(biāo)指針直接移動(dòng)到指定的位置.但是目前我還沒搞明白要怎么發(fā)送16進(jìn)制的數(shù)據(jù)才能使用絕對坐標(biāo). 但偶然間找到了一個(gè)安卓VIEW的方法可以監(jiān)聽到鼠標(biāo)指針的位置...順便記錄一下這個(gè)方法.

利用view的OnGenericMotionListener方法給view設(shè)置一個(gè)監(jiān)聽,當(dāng)鼠標(biāo)在這個(gè)view上移動(dòng)的時(shí)候. view就能獲取到鼠標(biāo)的絕對位置.但是缺點(diǎn)就是在安卓8.0 以后,懸浮窗全屏的時(shí)候是無法覆蓋到狀態(tài)欄的, 這也就導(dǎo)致鼠標(biāo)在狀態(tài)欄上移動(dòng)的時(shí)候無法獲取到鼠標(biāo)的坐標(biāo)...

圖片

我也沒有找到比較好的方法來覆蓋掉狀態(tài)欄...安卓7.0倒是可以覆蓋到狀態(tài)欄. 在懸浮窗覆蓋到的地方移動(dòng)鼠標(biāo)指針,就可以獲取到鼠標(biāo)指針的實(shí)時(shí)位置了.

圖片

在執(zhí)行項(xiàng)目的時(shí)候,可以先開啟一個(gè)"全屏"的懸浮窗,然后通過hid協(xié)議讓鼠標(biāo)移動(dòng)一個(gè)像素.獲取到鼠標(biāo)的絕對位置...然后再關(guān)閉懸浮窗即可,這樣獲取到第一個(gè)鼠標(biāo)的確切坐標(biāo)后. 后面就能通過計(jì)算得到所有的絕對位置. 從而和autojs配合來點(diǎn)擊和滑動(dòng)操作.

以下是懸浮窗的代碼...

var w = floaty.rawWindow(
    <frame id="top" bg="#CC000000" />
);


ui.run(()=>{
    //設(shè)置懸浮窗全屏
    w.setSize(-1, -1);
    //要設(shè)置懸浮窗攔截點(diǎn)擊事件,才可以監(jiān)聽到鼠標(biāo)移動(dòng)事件
    w.setTouchable(true);
});


var points = {}
w.top.setOnGenericMotionListener(function(v, event) {
    points.x = event.getX().toFixed(2);
    points.y = event.getY().toFixed(2);
    console.log("鼠標(biāo): " , points);
    return false;
});


setTimeout(() => {
    w.close();
}, 60000);

希望大家有個(gè)愉快的周末....

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

    關(guān)注

    6

    文章

    587

    瀏覽量

    39662
  • VIEW
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    9933
  • 安卓
    +關(guān)注

    關(guān)注

    5

    文章

    2113

    瀏覽量

    56884
收藏 人收藏

    評論

    相關(guān)推薦

    獲取鼠標(biāo)坐標(biāo)小程序

    本帖最后由 North_Shell 于 2012-12-28 19:51 編輯 用于獲取鼠標(biāo)坐標(biāo)
    發(fā)表于 12-28 19:43

    Labview x,y坐標(biāo)獲取調(diào)用

    各位大神, 小弟正在做labview的編成,是有關(guān)尼康高級(jí)顯微鏡的載物臺(tái)的自動(dòng)控制,想在labview里實(shí)現(xiàn)鼠標(biāo)在圖片上取點(diǎn)后轉(zhuǎn)化為小,y坐標(biāo)然后進(jìn)項(xiàng)自動(dòng)控制,現(xiàn)在就剩鼠標(biāo)坐標(biāo)的值并
    發(fā)表于 08-21 16:58

    在已有曲線的xy圖中,如何根據(jù)鼠標(biāo)獲取的x坐標(biāo)得到在曲線中該坐標(biāo)對應(yīng)y的值

    在已有曲線的xy圖中,如何根據(jù)鼠標(biāo)獲取的x坐標(biāo)得到在曲線中該坐標(biāo)對應(yīng)y的值?
    發(fā)表于 05-12 09:31

    求助,如何獲取光標(biāo)處顏色,就像獲取鼠標(biāo)坐標(biāo)那樣?

    `求助,如何獲取光標(biāo)處顏色,就像獲取鼠標(biāo)坐標(biāo)那樣?`
    發(fā)表于 10-13 09:17

    點(diǎn)擊鼠標(biāo)獲取XY當(dāng)前位置坐標(biāo)

    (1)移動(dòng)鼠標(biāo)。十字架顯示XY圖的坐標(biāo)值。(2)點(diǎn)擊鼠標(biāo)左鍵,可以獲得當(dāng)前位置的XY圖的坐標(biāo)
    發(fā)表于 11-13 09:39

    CH9329絕對鼠標(biāo)下無效是什么原因?

    講CH9329接在盒子上,通過PC的串口發(fā)送絕對鼠標(biāo)指令并且收到成功的反饋,但是設(shè)備上指針并沒有發(fā)生位移和點(diǎn)擊相對位移可用在Windows下絕對位置可用,請問這是
    發(fā)表于 07-04 06:37

    CH573模擬USB鼠標(biāo)如何控制屏幕指針的絕對坐標(biāo)?

    請問CH573模擬usb鼠標(biāo),如何控制屏幕指針的絕對坐標(biāo)?就是想讓屏幕指針移動(dòng)到一個(gè)絕對位置,比如屏幕的坐標(biāo)(10,10)有沒有這種可能?按
    發(fā)表于 08-25 06:16

    淺析系統(tǒng)的三大Root方式

    百花齊放到萬物歸一。不同安系統(tǒng)版本,獲取Root權(quán)限主流方式不同。在手機(jī)上,獲取Root權(quán)限主要有三種方式:漏洞、OEM官方解鎖、工廠
    發(fā)表于 10-31 17:04

    LabVIEW當(dāng)鼠標(biāo)懸停在圖形曲線上時(shí)顯示坐標(biāo)

    ”作為“事件”,單擊“確定”,如下圖所示。 2. 通過在前面板的圖形上創(chuàng)建一個(gè) invoke 節(jié)點(diǎn)來獲取鼠標(biāo)坐標(biāo),以便將坐標(biāo)映射到 XY,如下圖所示。 右鍵單擊波形圖,選擇創(chuàng)建&
    發(fā)表于 11-25 17:03

    基于LabVIEW的鼠標(biāo)位移測量技術(shù)研究

     通過對鼠標(biāo)工作原理與驅(qū)動(dòng)程序的研究,提出了利用顯示坐標(biāo)鼠標(biāo)坐標(biāo)的映射實(shí)現(xiàn)位移測定的方法; 通過L abVIEW 編程,擺脫了圖形用戶界面
    發(fā)表于 05-10 16:20 ?5135次閱讀
    基于LabVIEW的<b class='flag-5'>鼠標(biāo)</b>位移測量技術(shù)研究

    兩軸模擬陀螺儀的空中鼠標(biāo)指針控制方法研究

    兩軸模擬陀螺儀的空中鼠標(biāo)指針控制方法研究
    發(fā)表于 11-02 17:08 ?10次下載

    C#教程之獲取鼠標(biāo)坐標(biāo)

    C#教程之獲取鼠標(biāo)坐標(biāo),很好的C#資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-20 10:59 ?4次下載

    獲權(quán)獲取的技術(shù)原理

    4.4版本中,谷歌依舊保持了應(yīng)用軟件在安裝時(shí)可以任意獲取權(quán)限的做法。但是,在系統(tǒng)中增加了權(quán)限管理的功能,只是該功能處于隱藏狀態(tài),需
    的頭像 發(fā)表于 09-30 09:22 ?4194次閱讀

    使用LabVIEW的鼠標(biāo)坐標(biāo)反饋

    當(dāng)事件發(fā)生時(shí),鼠標(biāo)的位置坐標(biāo)是很重要的信息,有時(shí)我們也需要提取鼠標(biāo)坐標(biāo)的歷史軌跡來作為分析問題的工具,通過實(shí)驗(yàn)軟件得到鼠標(biāo)當(dāng)前處于屏幕中的
    發(fā)表于 02-24 08:00 ?26次下載
    使用LabVIEW的<b class='flag-5'>鼠標(biāo)</b><b class='flag-5'>坐標(biāo)</b>反饋

    labview鼠標(biāo)坐標(biāo)怎么獲取

    獲取LabVIEW中鼠標(biāo)坐標(biāo)方法實(shí)際上非常簡單。在LabVIEW的Block Diagram或Front Panel中,可以使用以下方法
    的頭像 發(fā)表于 01-07 17:24 ?3398次閱讀