Score:0

แป้นพิมพ์ลัดประทับเวลา

ธง bm

บน Ubuntu Mate 20.10 บนโน้ตบุ๊ก Lenovo T450 ฉันได้พยายามสร้างแป้นพิมพ์ลัดประทับเวลามาระยะหนึ่งแล้ว จุดประสงค์คือเพื่อให้สามารถแทรกการประทับเวลาลงในไฟล์ประเภทใดก็ได้ราวกับว่าฉันพิมพ์ ไม่ว่าจะเป็นไฟล์ข้อความ, LibreOffice Write, Calc, Draw หรือเอกสารประเภทอื่นๆ
คำถามที่ใกล้เคียงที่สุดสองคำถามที่คล้ายกับคำถามนี้คือ:

ตามคำแนะนำในลิงค์แรกฉันสร้างไฟล์สคริปต์ทุบตี Timestamp.sh ต่อไปนี้:

 #!/bin/bash
 สลีป 0.3 วินาที && วันที่ +%Y.%m.%d' : '%H.%M.%S

ซึ่งเมื่อดำเนินการจะสร้างการประทับเวลาที่จัดรูปแบบตามความต้องการของฉันและมีลักษณะดังนี้:

2021.07.11 : 21.10.26

ตอนนี้ใช้แอพแป้นพิมพ์ลัดใน Mate คุณสมบัติคู่คีย์ผูกพันและผูกสคริปต์ด้านบนกับ F9 เพื่อจุดประสงค์ในการทดสอบ ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:

/home/xak/scripts/Timestamp.sh

xdotool keyup exec /home/xak/scripts/Timestamp.sh

xdotool keyup sleep 0.3s พิมพ์ `date +%Y.%m.%d' : '%H.%M.%S`

xdotool พิมพ์ "$(printf 'date\n\e ')"

bash -c 'xdotool ประเภท "`วันที่ +"%Y-%m-%d_%T`"'

bash -c 'xdotool type --clearmodifiers -delay 0 "`date +"%Y-%m-%d_%T`"'

ไม่มีการทำงานเหล่านี้ ไม่ว่าฉันจะแฮ็กสิ่งนี้นานแค่ไหน (ในแง่บวกของการแฮ็กแบบเก่า) หรือค้นหามากเพียงใด ฉันก็ไม่สามารถหาวิธีทำให้สิ่งที่ค่อนข้างง่ายนี้ใช้งานได้

ตอนนี้ บางสิ่งข้างต้นที่ฉันได้ลองถูกเสนอโดยผู้ที่มีประสบการณ์มากกว่าฉัน แต่เมื่อคุณนำไปใช้เป็นแป้นพิมพ์ลัดโดยใช้ คุณสมบัติคู่คีย์ผูกพัน ดูเหมือนจะไม่ทำงาน ฉันพลาดอะไรไป

ในการทำงานนี้จะช่วยให้ผู้ใช้ทุกคนสามารถแทรกการประทับเวลาลงในแอปพลิเคชันใด ๆ ได้ตามต้องการ

Score:0
ธง cn

นั่นคือสิ่งที่ฉันใช้เพื่อแทรกการประทับวันที่:

#!/bin/sh
xdotool กดปุ่ม ctrl+shift+d sleep 0.4 พิมพ์ $(date +"%Y-%m-%d")

คำสั่ง "keyup" จะปล่อยปุ่มลัดที่ฉันกำหนดให้กับสคริปต์นี้ก่อน เพื่อหลีกเลี่ยงการรบกวนแป้นที่กดเหล่านี้ด้วยการกดแป้นส่ง ฉันยังคงต้องการความล่าช้าเป็นหลักเพื่อให้ทำงานใน Firefox และ Thunderbird สำหรับการใช้งานอื่นๆ การหน่วงเวลาอาจน้อยกว่านี้

นี่เป็นเวอร์ชันที่ฉันใช้ก่อนหน้านี้ (และฉันอาจเปลี่ยนกลับไปใช้อีกครั้ง): ใช้คลิปบอร์ดแทน และป้องกันความเป็นไปได้ที่การกดแป้นบางปุ่มจะถูกยกเลิก

#!/bin/sh
OLDSELECT=$(xsel --clipboard --input)
CURRENTDATE=$(วันที่ +"%Y-%m-%d")
echo -n $CURRENTDATE | xsel -b -i
นอน 0.3
xdotool กดปุ่ม ctrl+shift+d ปุ่ม Control_L+v
นอน 0.3 วินาที
echo -n $OLDSELECT | xsel - คลิปบอร์ด - อินพุต

สิ่งนี้จะบันทึกแป้นพิมพ์ (ข้อความ) ปัจจุบันและกู้คืนในตอนท้าย ในระหว่างนี้ วันที่จะถูกวางบนคลิปบอร์ดและวางลงในแอปพลิเคชันที่ใช้งานอยู่ Ctrl+โวลต์. น่าเสียดายอีกครั้งที่ นอน จำเป็นเพื่อให้มันใช้งานได้ - Linux กระตือรือร้นที่จะละทิ้งการกดแป้นพิมพ์หากคุณพิมพ์เร็วเกินไป อีกครั้งสำหรับ Firefox และ Thunderbird ฉันต้องพักเครื่อง 0.3 วินาทีก่อนที่คลิปบอร์ดจะได้รับการกู้คืนอย่างถูกต้อง

xian555 avatar
bm flag
โอเค ฉันอาจจะไม่บ้าก็ได้ เมื่อฉันใช้ตัวอย่างแรกของคุณ: #!/bin/sh xdotool กดปุ่ม ctrl+shift+d sleep 0.4 พิมพ์ $(date +"%Y-%m-%d") ใน Pluma หรือ LO7 Write จะไม่ทำอะไรเลยหรืออย่างน้อยก็ไม่แสดงผลอะไรเลย ถ้าฉันใส่: xdotool keyup sleep 0.33s type --clearmodifiers 'Test xdotools' ใช้งานได้ แต่ฉันไม่สามารถทำงานกับ $(date +...) ได้ ฉันไม่เข้าใจว่าปัญหาคืออะไร
xian555 avatar
bm flag
อีกคำถามเกี่ยวกับตัวอย่างแรกของคุณ: อะไรคือ ctrl+shift+d สำหรับ ? ขอบคุณ
vanadium avatar
cn flag
อย่างที่ผมตอบไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา