DNF打不出字,多数时候不是输入法坏了,是游戏和输入法的运行权限不对等。Windows有个UIPI机制,权限高的窗口收不到权限低的进程发来的消息,游戏和输入法权限一旦不一样,切换键和候选框就都被拦在外面,字自然打不出来。把两边权限拉平,字就打得出来了。
最快的办法是右键DNF客户端图标,选属性,进兼容性选项卡,把“以管理员身份运行此程序”的勾去掉,用普通权限启动游戏。如果游戏必须挂管理员权限才能过安全检测,那就反过来,把输入法客户端也设成管理员运行,两边权限对齐了,切换键的消息才传得过去。

还是打不出字,看这两处
语言栏设置里有一项“为每个应用程序保留一种输入方式”,开着的时候切到游戏窗口,输入法状态会单独记一份,很容易卡在英文状态切不回来。在Windows设置里找到时间和语言下面的语言选项,把这项关掉,全局用同一个输入状态,来回切换才不会丢。
另一个常见原因跟全屏模式有关,这一块占的篇幅最大,说清楚为什么会挡住输入法。DNF如果开的是全屏独占,显示管线整个被游戏接管,系统合成器被跳过,候选框这种系统级弹窗没有画面层可以渲染。字打不出不是候选框没弹出来,是被独占的显示层盖住,看不见而已。换成窗口模式或者无边框窗口,合成器照常工作,候选框才有地方显示。
调窗口模式分三步:
1、打开游戏客户端,点右上角设置图标,进“画面”选项卡
2、把显示模式从“全屏”改成“窗口化”或者“无边框窗口”
3、保存后重新登录一次角色,输入法状态刷新,再试切换键
如果上面两步都试了还是打不出字,换成微软自带的拼音输入法测一下。部分第三方输入法客户端对全屏游戏有单独的黑名单逻辑,系统自带的反而稳。
打不出字只在结算画面或者加载卡屏那几秒出现,过后又恢复正常,这跟输入法没关系,是客户端渲染卡顿,重启一次客户端就好,跟权限设置和全屏模式不沾边。