ทำให้แถวหมายเลขเป็นแถวสัญลักษณ์ตามค่าเริ่มต้น


12

ในฐานะโปรแกรมเมอร์ฉันพบว่าตัวเองกำลังพิมพ์สัญลักษณ์บ่อยกว่าตัวเลข ดังนั้นมันจะดีถ้าแถวตัวเลขบนคีย์บอร์ดสร้างสัญลักษณ์ตามค่าเริ่มต้น

ผลปลายควรจะ: 6จะผลิต^และShift+ จะให้66

ฉันลองเปลี่ยนมาใช้ Dvorak สักพักหนึ่ง แต่การรวมกันของเส้นโค้งการเรียนรู้ที่สูงชันและกำหนดเวลาที่ปรากฏไม่ได้เป็นทางออกที่น่าสนใจ

เป็นการดีที่ฉันต้องการสิ่งนี้บน Windows เช่นกัน แต่ให้ความสำคัญกับ Debian เพราะเป็นเครื่องพัฒนาหลักของฉัน

จากสิ่งที่ฉันพบในเว็บคุณสมบัติ "shift lock" ที่เปิดใช้งานโดยการกดปุ่ม Shift อย่างรวดเร็วจะทำอย่างนั้นใน Windows แต่ฉันไม่พบการอ้างอิง * nix ใด ๆ

แก้ไข: โดยหลักการแล้ววิธีการแก้ปัญหาไม่ควรยุ่งเกี่ยวกับคีย์แถวที่ไม่ใช่ตัวเลขเช่น[แต่ถ้าเป็นเช่นนั้นฉันสามารถใช้งานมันได้ (ตาม{ปกติใน C มากกว่า[)

คำตอบ:


8

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

ไปที่ (สำหรับ Windows 8)

  1. กดปุ่ม Windows + I (เพื่อเปิดเมนูการตั้งค่าทางลัด)
  2. คลิกที่ปุ่มแป้นพิมพ์ (มุมขวาล่าง)
  3. คุณควรเห็นเค้าโครงที่กำหนดเองของคุณ
  4. เลือกมัน
  5. และตอนนี้เค้าโครงแบบกำหนดเองของคุณจะถูกเปิดใช้งาน

นอกจากนี้ยังมีการสอนเต็มรูปแบบใน MSKLC คุณจะได้รับที่นี่และที่นี่ ดูทั้งสองพยายามถ้ามีปัญหาเกิดขึ้น


1
คำถามเกี่ยวกับ Debian
harrymc

@harrymc ใช่และไม่ใช่ "โดยหลักแล้วฉันต้องการใช้ Windowsนี้เป็นอย่างดีแต่ให้ความสำคัญกับ Debianเพราะเป็นเครื่องพัฒนาหลักของฉัน" ดังนั้นคำตอบนั้นไม่ถูกต้องในบริบทของคำถาม
CVN

ฉันเดาว่าฉันควรจะระบุ Windows 7 เพราะฉันไม่ได้เป็นเจ้าของเครื่อง Win8 คำตอบที่ถูกต้องอย่างไรก็ตาม
rath

@ ธรรมไม่ต้องกังวลฉันจะใส่รายละเอียดสำหรับ win 7 ทำงานบนกล่องเสมือน
ฮันเตอร์

@rath นี่คือรายละเอียดสำหรับการทำมันใน W7 อ้างถึงการเชื่อมโยงเหล่านี้: - support.microsoft.com/kb/258824 , support.microsoft.com/kb/306560และsevenforums.com/tutorials/86239-keyboard-layout-change.html ดูว่าเมื่อคุณเพิ่มรูปแบบแป้นพิมพ์แบบกำหนดเอง (หรือเพิ่มเติมโดย Windows) จากนั้นเท่านั้น (เมื่อคุณเปิดใช้งานรูปแบบแป้นพิมพ์มากกว่า 1) คุณจะสามารถเห็นแถบภาษา (ในทาสก์บาร์เหมือนกับ Windows 8 ยกเว้น อยู่ในเมนูทางลัด)
ฮันเตอร์

5

จากบทบาทการย้อนกลับของเธรดของการกด shift + numberไฟล์ xmodmap นี้มา:

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

ดูลิงค์ด้านบนสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ไฟล์นี้


2

คุณสามารถใช้อย่างใดอย่างหนึ่งdumpkeysและloadkeys(สำหรับคอนโซล) หรือxmodmap(สำหรับ X) เพื่อกำหนดฟังก์ชันของแป้นคีย์บอร์ดที่กำหนดใหม่ xevสามารถบอกคุณได้ว่า X เห็นอินพุตคีย์เฉพาะอย่างไร

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

เป็นตัวอย่างเพื่อทำการแมป1ไป!และShift+ 1เพื่อ1ใน X เราใช้ XEV ครั้งแรกที่พบว่า1เป็น keycode 10 (ในกรณีของฉันให้แน่ใจว่าการตรวจสอบ) หากต้องการทำการแมปกุญแจเพื่อกลับด้านฟังก์ชันที่เลื่อนแล้ว:

xmodmap -e 'keycode 10 = exclam 1 exclam 1 exclamdown onesuperior exclamdown'

ในการกู้คืนฟังก์ชั่นปกติ (ตรงกับสิ่งที่พิมพ์โดยxmodmap -pke):

xmodmap -e 'keycode 10 = 1 exclam 1 exclam exclamdown onesuperior exclamdown'

การเปลี่ยนแปลงจะมีผลทันทีและส่งผลอย่างน้อยทั้งเซสชัน X (ไม่ได้อยู่ในแอปพลิเคชันที่เปิดตัว xmodmap)

เมื่อคุณมีชุดคำสั่ง xmodmap ที่ตั้งค่าแป้นพิมพ์ตามที่คุณต้องการให้เก็บคำสั่งเหล่านั้นใน ~ / .xmodmaprc จากนั้นเพิ่ม ~ / .xsessionrc ของคุณ (สร้างหากไม่มีอยู่):

xmodmap ~/.xmodmaprc

ส่วนที่คุณต้องการเพิ่มลงใน. xmodmaprc เป็นเพียงkeycode XX = yyy ...ส่วนหนึ่งของคำสั่งบรรทัดคำสั่ง (นั่นคืออาร์กิวเมนต์ของ-eสวิตช์)


0

สำหรับลักษณะ BSD ที่ตัวเลือกนี้ตัวแก้ไขเค้าโครงแป้นพิมพ์หรือสร้างเค้าโครงแป้นพิมพ์แบบกำหนดเองสำหรับ X11 โดยใช้ XKB

สำหรับ Windows ลองใช้Microsoft Keyboard Layout Creator 1.4

สิ่งเหล่านั้นดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดที่ฉันได้พบ ไม่ได้บอกว่าเป็นตัวเลือกเท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.