我正在尝试编写一个 bash 脚本来监视键盘上的特定按键,并在检测到它们时运行命令。我目前可以使用输入命令来执行此操作,但前提是运行它的终端位于前台。我需要让它在窗口未聚焦时工作。
我已经考虑过使用 xinput test-xi2 --root 来获取每个事件,这似乎工作得很好,但我不确定如何有效地将输入转换为对我有用的关键定义。
这是我当前的程序:
while true; do
read -rsn1 input
if [ "$input" = "a" ];
then
#Do Something
fi
done
Run Code Online (Sandbox Code Playgroud)
上面的代码可以工作,但只能在前台运行。
任何帮助将不胜感激!
我目前正在尝试为我的应用程序设置一个搜索栏,如下图所示。目前我有一个可以很好地用作搜索栏的小部件,但我正在尝试实现一个使用该按钮的导航抽屉。有没有办法将导航抽屉绑定到它?我需要在 appBar 中重新创建这个小部件吗?
我不确定实现此目的的最佳方法是什么,我希望能提供一些有关如何进行的建议!
谢谢!
我正在尝试将地图传递给有状态的小部件,并且地图会不时更新。在我的父小部件中,我在更改数据时调用 setState(),而在子小部件中,我可以看到数据出现,但是如果我尝试使用该数据,则它尚未更新。任何想法为什么会这样,以及如何解决它?
class AccountMenuWidgetState extends State {
final Function _closeAccountMenu;
final Function _signOut;
String _accountToken;
Map _userInfo;
AccountMenuWidgetState(this._closeAccountMenu, this._signOut, this._accountToken, this._userInfo) {
//_openAnimation();
print("DEBUG2 " + _userInfo.toString()); <----- This shows the updated data
}
@override
Widget build(BuildContext context){
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
_userInfo.toString(), <------ This does not update with new data
style: TextStyle(color: Colors.red),
),
],
);
}
Run Code Online (Sandbox Code Playgroud)