<commit_before># **鼠标控制与32位模式切换** #
***


## **1. 鼠标解读(解读鼠标数据)** ##
    1) 我们现在需要做的就是, 解读从鼠标返回来的数据, 解析鼠标是怎么移动的, 
       然后结合鼠标的动作, 让鼠标指针动起来
    2) 首先将从鼠标那儿读到的0xfa丢弃, 然后将紧接着的3个字节接收到组合到一起
       形成一组鼠标数据; 然后循环
    3) 具体例子请参见./os-src/toyos35/


## **2. 模块整理** ##
    1) 将解析鼠标数据的部分整理成一个单独的函数模块
    2) 具体例子请参见./os-src/toyos36/


## **3. 鼠标解读** ##
    1) 我们在接受鼠标传递过来的第一个字节的时候, 应该判断其对鼠标移动有反应
       的部分是在0~3的范围内; 同时还需要判断第一字节对点击有反应的部分是在
       8~f的范围内
    2) 鼠标的状态存在buf[0]的低3位, 鼠标的坐标放在buf[1]和buf[2]中; 但是需要
       使用buf[0]中对鼠标移动有反应的几位信息, 将x和y的第8位以及8位以后全部
       设置为1, 或者全部保持为0 
    3) 具体例子请参见./os-src/toyos37/<commit_msg>added information about moving mouse pointer<commit_after># **鼠标控制与32位模式切换** #
***


## **1. 鼠标解读(解读鼠标数据)** ##
    1) 我们现在需要做的就是, 解读从鼠标返回来的数据, 解析鼠标是怎么移动的, 
       然后结合鼠标的动作, 让鼠标指针动起来
    2) 首先将从鼠标那儿读到的0xfa丢弃, 然后将紧接着的3个字节接收到组合到一起
       形成一组鼠标数据; 然后循环
    3) 具体例子请参见./os-src/toyos35/


## **2. 模块整理** ##
    1) 将解析鼠标数据的部分整理成一个单独的函数模块
    2) 具体例子请参见./os-src/toyos36/


## **3. 鼠标解读** ##
    1) 我们在接受鼠标传递过来的第一个字节的时候, 应该判断其对鼠标移动有反应
       的部分是在0~3的范围内; 同时还需要判断第一字节对点击有反应的部分是在
       8~f的范围内
    2) 鼠标的状态存在buf[0]的低3位, 鼠标的坐标放在buf[1]和buf[2]中; 但是需要
       使用buf[0]中对鼠标移动有反应的几位信息, 将x和y的第8位以及8位以后全部
       设置为1, 或者全部保持为0 
    3) 具体例子请参见./os-src/toyos37/


## **4. 移动鼠标指针** ##
    1) 首先隐藏鼠标指针, 然后在鼠标指针的坐标上, 加上解读到的位移量, 这样就
       得到了鼠标的新位置, 再重新显示鼠标即可
    2) 具体例子请参见./os-src/toyos38/
{'fraction_non_alphanumeric': 0.1389290882778582, 'fraction_numerical': 0.05137481910274964, 'mean_word_length': 3.091715976331361, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2832127', 'n_tokens_mistral': 1063, 'n_tokens_neox': 1254, 'n_words': 97}