Android 13 默认打开 使用屏幕键盘

原生设置里,系统-语言和输入法-实体键盘-使用屏幕键盘 选项,

关闭时,外接物理键盘,如USB键盘,输入时不会 弹出软键盘。

打开时,外接物理键盘,如USB键盘,输入时 弹出软键盘。

这个选项默认是关闭的。

改为打开,如有需要,可通过 overlay 的方法修改。

复制代码
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -38,4 +38,7 @@
     <!-- Decrease animation duration. -->
     <fraction name="def_window_animation_scale">50%</fraction>
     <fraction name="def_window_transition_scale">50%</fraction>
+
+    <!-- Default for Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD -->
+    <bool name="def_show_ime_with_hard_keyboard">true</bool>
 </resources>

Settings 源码在 ./packages/apps/Settings/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java

复制代码
    @Override
    public void onResume() {
        super.onResume();
        mLastHardKeyboards.clear();
        scheduleUpdateHardKeyboards();
        mIm.registerInputDeviceListener(this, null);
        mShowVirtualKeyboardSwitch.setOnPreferenceChangeListener(
                mShowVirtualKeyboardSwitchPreferenceChangeListener);
        registerShowVirtualKeyboardSettingsObserver();
    }

   private void registerShowVirtualKeyboardSettingsObserver() {
        unregisterShowVirtualKeyboardSettingsObserver();
        getActivity().getContentResolver().registerContentObserver(
                Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),
                false,
                mContentObserver,
                UserHandle.myUserId());
        updateShowVirtualKeyboardSwitch();
    }

    private void updateShowVirtualKeyboardSwitch() {
        mShowVirtualKeyboardSwitch.setChecked(
                Secure.getInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);
    }
    
    private final OnPreferenceChangeListener mShowVirtualKeyboardSwitchPreferenceChangeListener =
            (preference, newValue) -> {
                Secure.putInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD,
                        ((Boolean) newValue) ? 1 : 0);
                return true;
            };
相关推荐
Geehy极海半导体3 天前
APM32芯得 EP.29 | 基于APM32F103的USB键盘与虚拟串口复合设备配置详解
计算机外设·usb·usb配置
人工干智能4 天前
pygame的帧处理中,涉及键盘的有`pg.event.get()`与`pg.key.get_pressed()` ,二者有什么区别与联系?
python·游戏·计算机外设·pygame
R-G-B4 天前
【P18 3-10】OpenCV Python—— 鼠标控制,鼠标回调函数(鼠标移动、按下、。。。),鼠标绘制基本图形(直线、圆、矩形)
python·opencv·计算机外设·鼠标回调函数·鼠标控制·鼠标移动·鼠标绘制图形
寻道模式5 天前
【运维心得】三步10分钟拆装笔记本键盘
运维·计算机外设·笔记本
OBOO鸥柏商用液晶显示厂家6 天前
OBOO鸥柏丨75寸/86平板企业办公会议触控一体机核心国产化品牌招投标参数
计算机外设·电脑·大屏端·信息发布系统·会议一体机
python-行者6 天前
akamai鼠标轨迹
爬虫·python·计算机外设·akamai
大Mod_abfun8 天前
多显示器窗口分布规律探索(包括WorkerW的区域)
计算机外设·显示器布局·桌面背景层·workerw
猎板PCB 邹亮12 天前
猎板PCB:专业键盘PCB板解决方案供应商
计算机外设·键盘·pcb工艺
点灯小铭13 天前
基于STM32单片机的无线鼠标设计
stm32·单片机·计算机外设·毕业设计·课程设计
Jwest202113 天前
佳维视高亮度工业显示器,强光环境清晰可见
计算机外设