device-emulator1源代码阅读之对鼠标的处理

    由IOLCDController主窗口捕获pc鼠标落在该窗口中的动作:LBD,MW,LBU。在对这些操作的相关响应处理函数中通过对ADConverter.SetPenSample(x,y)的调用来设置ADCDAT寄存器以达到通过raise ADC的中断来将数据返回到系统,进而由touchp驱动来处理并将数据返回给系统,再由系统的GWES来进行处理,最终在主窗口中显示鼠标的位置以及操作结果。
LBD: SetPenState(down), SetPenSample(x,y), RaiseTCInterrupt()
MM: SetPenSample(x,y)
LBU: SetPenSample(x,y), SetPenState(up), RaiseTCInterrupt()
    以上的中断最终要调用CpuSetInterruptPending()来Notify the CPU of the pending interrupt。不过可惜没有找到这个函数的实现。
    对于MM来说,SetPenSample是更新x/y坐标值到ADConverter寄存器中,然后由系统的PWM timer3中断来获得ADConverter寄存器中x/y值并report给touchp驱动。

你可能感兴趣的:(职场,emulator,mouse,休闲)